summaryrefslogtreecommitdiff
path: root/heat
diff options
context:
space:
mode:
authorOpenStack Proposal Bot <openstack-infra@lists.openstack.org>2014-04-22 06:09:29 +0000
committerOpenStack Proposal Bot <openstack-infra@lists.openstack.org>2014-04-22 06:09:29 +0000
commit0529c3823faeff00bb74494c35a844b3abcceb74 (patch)
tree0705dc3736a258bfdbd7130c5e6d5dfeb7ce9c12 /heat
parent635fad8ffbab10f5e1e75b0e7f5e4943c8b3218c (diff)
downloadheat-0529c3823faeff00bb74494c35a844b3abcceb74.tar.gz
Imported Translations from Transifex
Change-Id: I16caae565e2127e6f87536a8b21d6aa06bd53f53
Diffstat (limited to 'heat')
-rw-r--r--heat/locale/ar/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/bg_BG/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/bn_IN/LC_MESSAGES/heat.po2799
-rw-r--r--heat/locale/bs/LC_MESSAGES/heat.po2810
-rw-r--r--heat/locale/ca/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/cs/LC_MESSAGES/heat.po2854
-rw-r--r--heat/locale/da/LC_MESSAGES/heat.po2827
-rw-r--r--heat/locale/de/LC_MESSAGES/heat.po2971
-rw-r--r--heat/locale/el/LC_MESSAGES/heat.po2795
-rw-r--r--heat/locale/en_AU/LC_MESSAGES/heat.po3725
-rw-r--r--heat/locale/en_GB/LC_MESSAGES/heat.po2991
-rw-r--r--heat/locale/en_US/LC_MESSAGES/heat.po2793
-rw-r--r--heat/locale/es/LC_MESSAGES/heat.po2991
-rw-r--r--heat/locale/es_MX/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/eu/LC_MESSAGES/heat.po2799
-rw-r--r--heat/locale/eu_ES/LC_MESSAGES/heat.po2793
-rw-r--r--heat/locale/fa/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/fi_FI/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/fil/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/fr/LC_MESSAGES/heat.po3004
-rw-r--r--heat/locale/gl/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/he/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/he_IL/LC_MESSAGES/heat.po2795
-rw-r--r--heat/locale/heat.pot2795
-rw-r--r--heat/locale/hi/LC_MESSAGES/heat.po2803
-rw-r--r--heat/locale/hr/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/hu/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/id/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/is_IS/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/it/LC_MESSAGES/heat.po2947
-rw-r--r--heat/locale/it_IT/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/ja/LC_MESSAGES/heat.po2985
-rw-r--r--heat/locale/ka_GE/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/km/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/kn/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/ko/LC_MESSAGES/heat.po2793
-rw-r--r--heat/locale/ko_KR/LC_MESSAGES/heat.po2831
-rw-r--r--heat/locale/ml_IN/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/mr_IN/LC_MESSAGES/heat.po2799
-rw-r--r--heat/locale/ms/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/nb/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/ne/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/nl_NL/LC_MESSAGES/heat.po2803
-rw-r--r--heat/locale/pa_IN/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/pl_PL/LC_MESSAGES/heat.po2807
-rw-r--r--heat/locale/pt/LC_MESSAGES/heat.po2875
-rw-r--r--heat/locale/pt_BR/LC_MESSAGES/heat.po3082
-rw-r--r--heat/locale/ro/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/ru/LC_MESSAGES/heat.po2843
-rw-r--r--heat/locale/ru_RU/LC_MESSAGES/heat.po2793
-rw-r--r--heat/locale/sk/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/sl_SI/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/sq/LC_MESSAGES/heat.po2795
-rw-r--r--heat/locale/sr/LC_MESSAGES/heat.po2801
-rw-r--r--heat/locale/sv/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/sw_KE/LC_MESSAGES/heat.po2793
-rw-r--r--heat/locale/ta/LC_MESSAGES/heat.po2795
-rw-r--r--heat/locale/te_IN/LC_MESSAGES/heat.po2795
-rw-r--r--heat/locale/tl/LC_MESSAGES/heat.po2813
-rw-r--r--heat/locale/tl_PH/LC_MESSAGES/heat.po2793
-rw-r--r--heat/locale/tr/LC_MESSAGES/heat.po2793
-rw-r--r--heat/locale/tr_TR/LC_MESSAGES/heat.po2799
-rw-r--r--heat/locale/uk/LC_MESSAGES/heat.po2813
-rw-r--r--heat/locale/ur/LC_MESSAGES/heat.po2799
-rw-r--r--heat/locale/vi_VN/LC_MESSAGES/heat.po2798
-rw-r--r--heat/locale/zh_CN/LC_MESSAGES/heat.po3003
-rw-r--r--heat/locale/zh_HK/LC_MESSAGES/heat.po2797
-rw-r--r--heat/locale/zh_TW/LC_MESSAGES/heat.po2955
68 files changed, 82447 insertions, 110720 deletions
diff --git a/heat/locale/ar/LC_MESSAGES/heat.po b/heat/locale/ar/LC_MESSAGES/heat.po
index 6c46dd5fb..021d434c0 100644
--- a/heat/locale/ar/LC_MESSAGES/heat.po
+++ b/heat/locale/ar/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Arabic translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Arabic "
"(http://www.transifex.com/projects/p/openstack/language/ar/)\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/bg_BG/LC_MESSAGES/heat.po b/heat/locale/bg_BG/LC_MESSAGES/heat.po
index 84fcb182a..ff74c9097 100644
--- a/heat/locale/bg_BG/LC_MESSAGES/heat.po
+++ b/heat/locale/bg_BG/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Bulgarian (Bulgaria) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bulgarian (Bulgaria) "
"(http://www.transifex.com/projects/p/openstack/language/bg_BG/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/bn_IN/LC_MESSAGES/heat.po b/heat/locale/bn_IN/LC_MESSAGES/heat.po
index 690c56fcc..03e7c3a11 100644
--- a/heat/locale/bn_IN/LC_MESSAGES/heat.po
+++ b/heat/locale/bn_IN/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Bengali (India) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-20 01:34+0000\n"
-"Last-Translator: Tom Fifield <tom@openstack.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bengali (India) "
"(http://www.transifex.com/projects/p/openstack/language/bn_IN/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/bs/LC_MESSAGES/heat.po b/heat/locale/bs/LC_MESSAGES/heat.po
index 82154d79b..e9b1b85e6 100644
--- a/heat/locale/bs/LC_MESSAGES/heat.po
+++ b/heat/locale/bs/LC_MESSAGES/heat.po
@@ -1,265 +1,266 @@
# Bosnian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: bs <LL@li.org>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Bosnian "
+"(http://www.transifex.com/projects/p/openstack/language/bs/)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ca/LC_MESSAGES/heat.po b/heat/locale/ca/LC_MESSAGES/heat.po
index 60739a8e5..d59a62959 100644
--- a/heat/locale/ca/LC_MESSAGES/heat.po
+++ b/heat/locale/ca/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Catalan translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Catalan "
"(http://www.transifex.com/projects/p/openstack/language/ca/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/cs/LC_MESSAGES/heat.po b/heat/locale/cs/LC_MESSAGES/heat.po
index 1d5373b65..d7c9625a2 100644
--- a/heat/locale/cs/LC_MESSAGES/heat.po
+++ b/heat/locale/cs/LC_MESSAGES/heat.po
@@ -1,266 +1,265 @@
# Czech translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: cs <LL@li.org>\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Czech "
+"(http://www.transifex.com/projects/p/openstack/language/cs/)\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "Vyskytla se neočekávaná výjimka."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Výjimka při operaci s formátem řetězce"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Při zpracování zdroje nastala výjimka: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Název zásobníku"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Přidělit plovoucí IP ze zadané zásoby plovoucích IP."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,249 +5472,92 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "zařízení záznamu systému musí být jedno z: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "Získány neznámé argumenty klíčového slova pro utils.execute: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Spouštění příkazu (podproces): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Výsledek byl %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r selhalo. Opakování."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "Spouštění příkazu (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Prostředí není podporováno přes SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "process_input není podporován přes SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
@@ -5689,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,129 +5622,88 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Neplatný parametr: Unicode není současnou databází podporován."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "verze by měla být celé číslo"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Nerozpoznaná hodnota read_deleted '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
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/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s není v platných prioritách"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,65 +5721,15 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "pro zprávu není metoda: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "Pro zprávu není metoda: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
@@ -5942,6 +5741,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Vzdálená chyba: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5963,7 +5764,7 @@ msgstr ""
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Neplatné znovu použití připojení RPC."
#: heat/openstack/common/rpc/common.py:154
#, python-format
@@ -5982,131 +5783,24 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Nelze se připojit k serveru AMQP na %(hostname)s:%(port)d po "
+"%(max_retries)d pokusech: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5809,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5821,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5842,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5876,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5899,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/da/LC_MESSAGES/heat.po b/heat/locale/da/LC_MESSAGES/heat.po
index 254e8bf63..d09c832a5 100644
--- a/heat/locale/da/LC_MESSAGES/heat.po
+++ b/heat/locale/da/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# Danish translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: da <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Danish "
+"(http://www.transifex.com/projects/p/openstack/language/da/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Undtagelse i streng-format handlingen"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1930,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "ignorerer %s"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "syslog faciliteten skal være en af: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
+msgstr "Fatalt kald til forældet konfig: %(msg)s"
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Resultatet var %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r mislykkedes. Prøver igen."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Ugyldig parameter: Unicode er ikke understøttet af den aktuelle database."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,65 +5721,15 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "ingen metode for beskeden: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "Ingen metode for beskeden: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
@@ -5953,7 +5753,7 @@ msgstr ""
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<ukendt>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/de/LC_MESSAGES/heat.po b/heat/locale/de/LC_MESSAGES/heat.po
index 822871c00..9875e0e3f 100644
--- a/heat/locale/de/LC_MESSAGES/heat.po
+++ b/heat/locale/de/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# German translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: de <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: German "
+"(http://www.transifex.com/projects/p/openstack/language/de/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,59 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"%(app_name)s kann nicht aus Konfigurationsdatei %(conf_file)s geladen "
+"werden.\n"
+"Abgerufen: %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +448,375 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "Eine unbekannte Ausnahme ist aufgetreten."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Ausnahme bei Zeichenfolgeformatoperation"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Erforderlicher Berechtigungsnachweis fehlt: %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
+"Falsche Authentifizierungsstrategie. Erwartet wurde \"%(expected)s\", "
+"empfangen wurde jedoch \"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
+"Verbindungsfehler/fehlerhafte Anforderung an Authentifizierungsservice "
+"unter URL %(url)s."
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "Authentifizierungsservice unter URL %(url)s nicht gefunden."
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Autorisierung fehlgeschlagen."
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "Sie sind nicht authentifiziert."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "Sie sind nicht dazu autorisiert, diese Aktion abzuschließen"
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "Umleitung auf %(uri)s für Autorisierung."
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "Das Maximum an Umleitungen (%(redirects)s) wurde überschritten."
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "Ungültige HTTP-Umleitung erhalten."
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"Mehrere 'image'-Serviceübereinstimmungen für Region %(region)s. Dies "
+"weist im Allgemeinen darauf hin, dass eine Region erforderlich ist und "
+"dass Sie keine angegeben haben."
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "Ungültiger Inhaltstyp %(content_type)s"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +826,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +847,218 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"Wenn der Server im SSL-Modus läuft, müssen Sie sowohl für die "
+"'cert_file'- als auch für die 'key_file'-Option in Ihrer "
+"Konfigurationsdatei einen Wert angeben"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "SIGTERM erhalten"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Starten von %d Workers"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "Entfernen von inaktivem untergeordnetem Element %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "Tastatur-Interrupt abgefangen. Beenden."
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "Beendet"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "Untergeordnetes Element %d wird normal beendet"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "Untergeordnetes Element %s gestartet"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "Starten von einzelnem Prozessserver"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Ausnahmebehandlungsressource: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1068,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "Stack-ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Stack Name"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1393,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "%s löschen"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1637,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1828,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1943,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "ignoriere %s"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +2005,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2609,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2646,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Floating IP aus einem angegebenen Pool belegen."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3137,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3227,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3276,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3286,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3295,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3377,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3385,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3569,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3694,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3834,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3996,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4149,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4566,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4702,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4756,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4791,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4803,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5421,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,283 +5485,128 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "Veraltet: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "Fehler beim laden der Logging Konfiguration %(log_config)s: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "syslog-Funktion muss einer der folgenden Werte sein: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
+msgstr "Schwerwiegender Aufruf an veraltete Konfiguration: %(msg)s"
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "JSON Datei, die die Richtlinie enthält"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "Regel wird durchgeführt, wenn angeforderte Regel nicht gefunden wird"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "Die Regel erlaubt nicht die Ausführung von %s"
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
+"Die Regeln müssen eine Instanz eines Verzeichnisses oder von Regeln sein,"
+" anstatt dessen wurde %s zurückgemeldet."
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "Unbekannte Schlüsselwortargumente für utils.execute erhalten: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Führe Kommando (subprocess) aus: %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Ergebnis war %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r fehlgeschlagen. Neuversuch."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "CMD wird ausgeführt (Secure Shell): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Umgebung über Secure Shell nicht unterstützt"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "'process_input' über Secure Shell nicht unterstützt"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "'cert_file' konnte nicht gefunden werden: %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "'ca_file' konnte nicht gefunden werden: %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "'key_file' konnte nicht gefunden werden: %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,128 +5637,91 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
+"Ungültiger Parameter: Unicode wird von der aktuellen Datenbank nicht "
+"unterstützt."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "Version sollte eine Ganzzahl sein"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "Der angegebene Sortierschlüssel war nicht gültig. "
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "Unbekannte Sortierrichtung; muss 'desc' oder 'asc' sein"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Nicht erkannter read_deleted-Wert '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
+msgstr "%s nicht in gültigen Prioritäten"
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+"'rabbit_notifier' ist nun veraltet. Verwenden Sie stattdessen "
+"'rpc_notifier'."
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
@@ -5870,70 +5739,23 @@ msgid ""
"Number of call waiters is greater than warning threshold: %d. There could"
" be a MulticallProxyWaiter leak."
msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
+"Die Anzahl an wartenden Anrufthreads ist größer als die "
+"Warnungsbegrenzung: %d. Möglicherweise gibt es ein Leck in "
+"'MulticallProxyWaiter'."
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "keine Methode für diese Nachricht gefunden: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "keine Methode für diese Nachricht gefunden: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "Eine unbekannte Ausnahme in Zusammenhang mit RPC ist aufgetreten."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5763,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Ferner Fehler: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,26 +5772,28 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"Zeitüberschreitung beim Warten auf die RPC-Antwort - Thema: "
+"\"%(topic)s\", RPC Methode: \"%(method)s\" Information: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<unbekannt>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Doppelte Nachricht (%(msg_id)s) gefunden. Wird übersprungen."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Ungültige Wiederverwendung einer RPC-Verbindung."
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
-msgstr ""
+msgstr "Angegebene RPC-Version %(version)s von diesem Endpunkt nicht unterstützt."
#: heat/openstack/common/rpc/common.py:159
#, python-format
@@ -5975,303 +5801,76 @@ msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
msgstr ""
+"Angegebene RPC-Umschlagsversion %(version)s wird von diesem Endpunkt "
+"nicht unterstützt."
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
+msgstr "Angegebene RPC Version cap, %(version_cap)s, ist zu niedrig"
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Herstellen einer Verbindung zu AMQP-Server auf %(hostname)s:%(port)d nach"
+" %(max_retries)d Versuchen nicht möglich: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "Socket konnte nicht geöffnet werden."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "Sie können auf diesem Socket nicht empfangen."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "Sie können auf diesem Socket nicht senden."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "Topic enthielt gefährliche Zeichen."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Nicht unterstützter oder unbekannter ZMQ-Umschlag zurückgegeben."
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "RPC-Nachricht ungültig."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "Keine MatchMaker-Ergebnisse. Kein Casting."
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "Keine Übereinstimmung von MatchMaker."
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s is überholt; benutze stattdessen %(new)s"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "Übereinstimmung von MatchMaker nicht gefunden."
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "MatchMaker implementiert Registrierung oder Überwachungssignal nicht."
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "Vor Starten von Überwachungssignal registrieren."
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5902,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5925,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/el/LC_MESSAGES/heat.po b/heat/locale/el/LC_MESSAGES/heat.po
index 374641ab9..be41310c4 100644
--- a/heat/locale/el/LC_MESSAGES/heat.po
+++ b/heat/locale/el/LC_MESSAGES/heat.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2014-03-27 23:49+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Greek "
"(http://www.transifex.com/projects/p/openstack/language/el/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/en_AU/LC_MESSAGES/heat.po b/heat/locale/en_AU/LC_MESSAGES/heat.po
index b9ddaaaa0..83b8f1b57 100644
--- a/heat/locale/en_AU/LC_MESSAGES/heat.po
+++ b/heat/locale/en_AU/LC_MESSAGES/heat.po
@@ -1,296 +1,303 @@
# English (Australia) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
+# Tom Fifield <tom@openstack.org>, 2013
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: en_AU <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (Australia) "
+"(http://www.transifex.com/projects/p/openstack/language/en_AU/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
msgid ""
"Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At "
"least one endpoint needs to be specified."
msgstr ""
+"Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At "
+"least one endpoint needs to be specified."
-#: heat/api/aws/ec2token.py:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
-msgstr ""
+msgstr "Failed to fetch template: %s"
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
-msgstr ""
+msgstr "DisableRollback and OnFailure may not be used together"
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
-msgstr ""
+msgstr "Unexpected action %(action)s"
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
-msgstr ""
+msgstr "Invalid Template URL"
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
-msgstr ""
+msgstr "TemplateBody or TemplateUrl were not given."
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
-msgstr ""
+msgstr "The Template must be a JSON or YAML document."
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
-msgstr ""
+msgstr "stack not not found"
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: heat/api/middleware/version_negotiation.py:49
#, python-format
msgid "Processing request: %(method)s %(path)s Accept: %(accept)s"
-msgstr ""
+msgstr "Processing request: %(method)s %(path)s Accept: %(accept)s"
-#: heat/api/middleware/version_negotiation.py:65
+#: heat/api/middleware/version_negotiation.py:64
#, python-format
msgid "Matched versioned URI. Version: %(major_version)d.%(minor_version)d"
-msgstr ""
+msgstr "Matched versioned URI. Version: %(major_version)d.%(minor_version)d"
-#: heat/api/middleware/version_negotiation.py:73
+#: 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 ""
+"Unknown version in versioned URI: %(major_version)d.%(minor_version)d. "
+"Returning version choices."
-#: heat/api/middleware/version_negotiation.py:89
+#: heat/api/middleware/version_negotiation.py:88
#, python-format
msgid "Matched versioned media type. Version: %(major_version)d.%(minor_version)d"
-msgstr ""
+msgstr "Matched versioned media type. Version: %(major_version)d.%(minor_version)d"
-#: heat/api/middleware/version_negotiation.py:95
+#: 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 ""
+"Unknown version in accept header: "
+"%(major_version)d.%(minor_version)d...returning version choices."
-#: heat/api/middleware/version_negotiation.py:103
+#: 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 ""
+msgstr "No action specified"
#: heat/api/openstack/v1/actions.py:47
msgid "Multiple actions specified"
-msgstr ""
+msgstr "Multiple actions specified"
#: heat/api/openstack/v1/actions.py:51
#, python-format
msgid "Invalid action %s specified"
-msgstr ""
+msgstr "Invalid action %s specified"
#: heat/api/openstack/v1/actions.py:58
#, python-format
msgid "Unexpected action %s"
-msgstr ""
+msgstr "Unexpected action %s"
#: heat/api/openstack/v1/events.py:104
#, python-format
msgid "No events found for resource %s"
-msgstr ""
+msgstr "No events found for resource %s"
#: heat/api/openstack/v1/events.py:122
#, python-format
msgid "No event %s found"
-msgstr ""
+msgstr "No event %s found"
#: heat/api/openstack/v1/stacks.py:74
#, python-format
@@ -299,20 +306,25 @@ msgstr ""
#: heat/api/openstack/v1/stacks.py:82
msgid "No stack name specified"
-msgstr ""
+msgstr "No stack name specified"
#: heat/api/openstack/v1/stacks.py:100
#, python-format
msgid "Could not retrieve template: %s"
-msgstr ""
+msgstr "Could not retrieve template: %s"
#: heat/api/openstack/v1/stacks.py:103
msgid "No template specified"
+msgstr "No template specified"
+
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
-msgstr ""
+msgstr "Invalid Stack address"
#: heat/cmd/manage.py:65
msgid "How long to preserve deleted data."
@@ -322,53 +334,62 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
-msgstr ""
+msgstr "Request missing required header X-Auth-Url"
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
-msgstr ""
+msgstr "Header X-Auth-Url \"%s\" not an allowed endpoint"
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
-msgstr ""
+msgstr "Maximum number of stacks any one tenant may have active at one time."
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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 ""
+"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."
-#: heat/common/config.py:122
+#: heat/common/config.py:120
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 ""
+"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."
+
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
-#: heat/common/config.py:127
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +398,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,382 +457,399 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "An unknown exception occurred."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Exception in string format operation"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Missing required credential: %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
+"Incorrect auth strategy, expected \"%(expected)s\" but received "
+"\"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
-msgstr ""
+msgstr "Connect error/bad request to Auth service at URL %(url)s."
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "Auth service at URL %(url)s not found."
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Authorisation failed."
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "You are not authenticated."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "You are not authorised to complete this action."
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
-msgstr ""
+msgstr "Data supplied was not valid: %(reason)s"
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "Redirecting to %(uri)s for authorisation."
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
-msgstr ""
+msgstr "The URI was too long."
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "Maximum redirects (%(redirects)s) was exceeded."
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "Received invalid HTTP redirect."
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"Multiple 'image' service matches for region %(region)s. This generally "
+"means that a region is required and you have not supplied one."
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
-msgstr ""
+msgstr "The Parameter (%(key)s) was not provided."
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
-msgstr ""
+msgstr "The Parameter (%(key)s) was not defined in template."
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
-msgstr ""
+msgstr "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
-msgstr ""
+msgstr "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
-msgstr ""
+msgstr "The Key (%(key_name)s) could not be found."
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
-msgstr ""
+msgstr "The Flavor ID (%(flavor_id)s) could not be found."
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
-msgstr ""
+msgstr "The Image (%(image_name)s) could not be found."
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
-msgstr ""
+msgstr "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
-msgstr ""
+msgstr "The Stack (%(stack_name)s) could not be found."
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
-msgstr ""
+msgstr "The Stack (%(stack_name)s) already exists."
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
-msgstr ""
+msgstr "%(message)s"
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
+"The Resource (%(resource_name)s) could not be found in Stack "
+"%(stack_name)s."
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
-msgstr ""
+msgstr "The Resource Type (%(type_name)s) could not be found."
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
-msgstr ""
+msgstr "The Resource (%(resource_name)s) is not available."
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
-msgstr ""
+msgstr "The Resource (%(resource_id)s) could not be found."
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
-msgstr ""
+msgstr "The Watch Rule (%(watch_name)s) could not be found."
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
-msgstr ""
+msgstr "%(exc_type)s: %(message)s"
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
-msgstr ""
+msgstr "%(feature)s is not supported."
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
-msgstr ""
+msgstr "Cannot define the following properties at the same time: %s."
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
+"Egress rules are only allowed when Neutron is used and the 'VpcId' "
+"property is set."
+
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
-msgstr ""
+msgstr "Request limit exceeded: %(message)s"
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
-msgstr ""
+msgstr "Maximum resources per stack exceeded."
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
-msgstr ""
+msgstr "Resource name may not contain \"/\""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
-msgstr ""
+msgstr "Failed to import module %s"
#: heat/common/short_id.py:44
#, python-format
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +857,221 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
-msgstr ""
+msgstr "Fetching data from %s"
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
-msgstr ""
+msgstr "The port on which the server will listen."
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"When running server in SSL mode, you must specify both a cert_file and "
+"key_file option value in your configuration file"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
-msgstr ""
+msgstr "Could not bind to %(bind_addr)safter trying for 30 seconds"
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "SIGTERM received"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
-msgstr ""
+msgstr "SIGHUP received"
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Starting %d workers"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "Removing dead child %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "Caught keyboard interrupt. Exiting."
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "Exited"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "Child %d exiting normally"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "Started child %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "Starting single process server"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
+"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
+"bytes)."
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Exception handling resource: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
msgid ""
"The server could not comply with the request since\r\n"
"it is either malformed or otherwise incorrect.\r\n"
msgstr ""
+"The server could not comply with the request since\n"
+"it is either malformed or otherwise incorrect.\n"
-#: heat/common/wsgi.py:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "Returning %(code)s to user: %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
-msgstr ""
+msgstr "Unexpected error occurred serving API: %s"
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
-msgstr ""
+msgstr "age should be an integer"
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
-msgstr ""
+msgstr "age should be a positive integer"
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1081,324 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
-msgstr ""
+msgstr "The value must be at least %(min)s."
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
-msgstr ""
+msgstr "The value must be no greater than %(max)s."
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
-msgstr ""
+msgstr "The value must be in the range %(min)s to %(max)s."
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
-msgstr ""
+msgstr "The length must be at least %(min)s."
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
-msgstr ""
+msgstr "The length must be no greater than %(max)s."
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
-msgstr ""
+msgstr "The length must be in the range %(min)s to %(max)s."
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
-msgstr ""
+msgstr "Allowed values: %s"
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
-msgstr ""
+msgstr "Value must match pattern: %s"
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
-msgstr ""
+msgstr "Circular Dependency Found: %(cycle)s"
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
-msgstr ""
+msgstr "Changing %(path)s from %(was)s to %(now)s"
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
-msgstr ""
+msgstr "Registering %(path)s -> %(value)s"
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "Stack ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Stack Name"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
+"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
+"characters, must start with alpha"
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1408,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
-msgstr ""
+msgstr "The Resource %s requires replacement."
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1618,150 +1650,152 @@ msgstr ""
#: heat/engine/scheduler.py:63
#, python-format
msgid "%s Timed out"
-msgstr ""
+msgstr "%s Timed out"
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
+"You have reached the maximum stacks per tenant, %d. Please delete some "
+"stacks."
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
-msgstr ""
+msgstr "No Template provided."
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1845,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
-msgstr ""
+msgstr "Recursion depth exceeds %d."
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
-msgstr ""
+msgstr "Cannot update %s, stack not created"
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
-msgstr ""
+msgstr "Cannot suspend %s, stack not created"
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
-msgstr ""
+msgstr "Cannot resume %s, stack not created"
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "Resources must contain Resource. Found a [%s] instead"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/update.py:79
#, python-format
msgid "Deleting backup resource %s"
msgstr ""
-#: heat/engine/update.py:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,579 +2022,579 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
-msgstr ""
+msgstr "\"%s\" is not a valid template section"
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
-msgstr ""
+msgstr "\"str_replace\" syntax should be %s"
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
-msgstr ""
+msgstr "Not Implemented."
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
-msgstr ""
+msgstr "Name of LaunchConfiguration resource."
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
-msgstr ""
+msgstr "Desired number of instances."
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
-msgstr ""
+msgstr "List of LoadBalancer resources."
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
-msgstr ""
+msgstr "Tags to attach to this group."
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
-msgstr ""
+msgstr "A comma-delimited list of server ip addresses. (Heat extension)."
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
-msgstr ""
+msgstr "Maximum number of instances in the group."
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
-msgstr ""
+msgstr "Minimum number of instances in the group."
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
-msgstr ""
+msgstr "Cooldown period, in seconds."
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
-msgstr ""
+msgstr "Desired initial number of instances."
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
-msgstr ""
+msgstr "List of VPC subnet identifiers."
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
-msgstr ""
+msgstr "Anything other than one VPCZoneIdentifier"
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
-msgstr ""
+msgstr "Glance image ID or name."
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
-msgstr ""
+msgstr "Nova instance type (flavour)."
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
-msgstr ""
+msgstr "Optional Nova keypair name."
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
-msgstr ""
+msgstr "User data to pass to instance."
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
-msgstr ""
+msgstr "Security group names to assign."
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
-msgstr ""
+msgstr "Scheduler hints to pass to Nova (Heat extension)."
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
-msgstr ""
+msgstr "AutoScaling group name to apply policy to."
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
-msgstr ""
+msgstr "Size of adjustment."
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
-msgstr ""
+msgstr "Type of adjustment (absolute or percentage)."
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
-msgstr ""
+msgstr "A signed url to handle the alarm. (Heat extension)."
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
-msgstr ""
+msgstr "Operator used to compare the specified Statistic with Threshold."
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
-msgstr ""
+msgstr "Description for the alarm."
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
-msgstr ""
+msgstr "Number of periods to evaluate over."
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
-msgstr ""
+msgstr "Metric name watched by the alarm."
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
-msgstr ""
+msgstr "Namespace for the metric."
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
-msgstr ""
+msgstr "Period (seconds) to evaluate over."
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
-msgstr ""
+msgstr "Metric statistic to evaluate."
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
-msgstr ""
+msgstr "A list of actions to execute when state transitions to alarm."
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
-msgstr ""
+msgstr "A list of actions to execute when state transitions to ok."
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
+"A list of dimensions (arbitrary name/value pairs) associated with the "
+"metric."
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
-msgstr ""
+msgstr "A list of actions to execute when state transitions to insufficient-data."
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
-msgstr ""
+msgstr "Threshold to evaluate against."
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
-msgstr ""
+msgstr "Unit for the metric."
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
-msgstr ""
+msgstr "Set to \"vpc\" to have IP address allocation associated to your VPC."
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
-msgstr ""
+msgstr "Instance ID to associate with EIP."
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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 ""
+"ID that AWS assigns to represent the allocation of the address for use "
+"with Amazon VPC. Returned only for VPC elastic IP addresses."
-#: heat/engine/resources/eip.py:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
-msgstr ""
+msgstr "Instance ID to associate with EIP specified by EIP property."
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
-msgstr ""
+msgstr "EIP address to associate with instance."
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
-msgstr ""
+msgstr "Allocation ID for VPC EIP address."
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
-msgstr ""
+msgstr "Network interface ID to associate with EIP."
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
#: heat/engine/resources/instance.py:46
msgid "Instance ID to be restarted."
-msgstr ""
+msgstr "Instance ID to be restarted."
#: heat/engine/resources/instance.py:52
msgid "A signed url to handle the alarm (Heat extension)."
-msgstr ""
+msgstr "A signed url to handle the alarm (Heat extension)."
#: heat/engine/resources/instance.py:88
#, python-format
@@ -2554,500 +2608,506 @@ msgstr ""
#: heat/engine/resources/instance.py:169
msgid "Availability zone to launch the instance in."
-msgstr ""
+msgstr "Availability zone to launch the instance in."
#: heat/engine/resources/instance.py:207
msgid "Security group IDs to assign."
-msgstr ""
+msgstr "Security group IDs to assign."
#: heat/engine/resources/instance.py:211
msgid "Network interfaces to associate with instance."
-msgstr ""
+msgstr "Network interfaces to associate with instance."
#: heat/engine/resources/instance.py:220
msgid "Subnet ID to launch instance in."
-msgstr ""
+msgstr "Subnet ID to launch instance in."
#: heat/engine/resources/instance.py:224
msgid "Tags to attach to instance."
-msgstr ""
+msgstr "Tags to attach to instance."
#: heat/engine/resources/instance.py:271
msgid "Volumes to attach to instance."
-msgstr ""
+msgstr "Volumes to attach to instance."
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
-msgstr ""
+msgstr "The ID of the volume to be attached."
#: heat/engine/resources/instance.py:295
msgid "The Availability Zone where the specified instance is launched."
-msgstr ""
+msgstr "The Availability Zone where the specified instance is launched."
#: heat/engine/resources/instance.py:298
msgid "Private DNS name of the specified instance."
-msgstr ""
+msgstr "Private DNS name of the specified instance."
#: heat/engine/resources/instance.py:300
msgid "Public DNS name of the specified instance."
-msgstr ""
+msgstr "Public DNS name of the specified instance."
#: heat/engine/resources/instance.py:302
msgid "Private IP address of the specified instance."
-msgstr ""
+msgstr "Private IP address of the specified instance."
#: heat/engine/resources/instance.py:304
msgid "Public IP address of the specified instance."
-msgstr ""
+msgstr "Public IP address of the specified instance."
#: heat/engine/resources/instance.py:345
#, python-format
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
-msgstr ""
+msgstr "Creation of server %(server)s failed: %(message)s (%(code)s)"
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
-msgstr ""
+msgstr "Creation of server %(server)s failed with unknown status: %(status)s"
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
-msgstr ""
+msgstr "Cannot suspend %s, resource_id not set"
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
-msgstr ""
+msgstr "Failed to find instance %s"
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
-msgstr ""
+msgstr " nova reported unexpected instance[%(instance)s] status[%(status)s]"
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
-msgstr ""
+msgstr "Cannot resume %s, resource_id not set"
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
-msgstr ""
+msgstr "VPC ID for this gateway association."
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
-msgstr ""
+msgstr "ID of the InternetGateway."
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
-msgstr ""
+msgstr "ID of the VPNGateway to attach to the VPC."
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
-msgstr ""
+msgstr "The Availability Zones in which to create the load balancer."
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
-msgstr ""
+msgstr "An application health check for the instances."
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
+"The number of consecutive health probe successes required before moving "
+"the instance to the healthy state."
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
+"The approximate interval, in seconds, between health checks of an "
+"individual instance."
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
-msgstr ""
+msgstr "The port being checked."
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
-msgstr ""
+msgstr "Health probe timeout, in seconds."
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
+"The number of consecutive health probe failures required before moving "
+"the instance to the unhealthy state"
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
-msgstr ""
+msgstr "The list of instance IDs load balanced."
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
-msgstr ""
+msgstr "One or more listeners for this load balancer."
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
-msgstr ""
+msgstr "TCP port on which the instance server is listening."
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
-msgstr ""
+msgstr "The external load balancer port number."
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
-msgstr ""
+msgstr "The load balancer transport protocol to use."
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Allocate a floating IP from a given floating IP pool."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
-msgstr ""
+msgstr "Resizing to '%(flavor)s' failed, status '%(status)s'"
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3164,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3254,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3303,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3313,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3322,84 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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 ""
+"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."
-#: heat/engine/resources/server.py:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
-msgstr ""
+msgstr "Creation of server %s failed."
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
-msgstr ""
+msgstr "Either volume_id or snapshot_id must be specified for device mapping %s"
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
-msgstr ""
+msgstr "Neither image nor bootable volume is specified for instance %s"
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3407,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,93 +3415,95 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
-msgstr ""
+msgstr "Failed to find server %s"
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
-msgstr ""
+msgstr "Suspend of server %(server)s failed with unknown status: %(status)s"
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
+"The URL of a template that specifies the stack to be created as a "
+"resource."
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
-msgstr ""
+msgstr "The length of time, in minutes, to wait for the nested stack creation."
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
-msgstr ""
+msgstr "The set of parameters passed to this nested stack."
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
#: heat/engine/resources/swift.py:37
msgid "Name for the container. If not specified, a unique name will be generated."
-msgstr ""
+msgstr "Name for the container. If not specified, a unique name will be generated."
#: heat/engine/resources/swift.py:42
msgid "Specify the ACL permissions on who can read objects in the container."
-msgstr ""
+msgstr "Specify the ACL permissions on who can read objects in the container."
#: heat/engine/resources/swift.py:47
msgid "Specify the ACL permissions on who can write objects to the container."
-msgstr ""
+msgstr "Specify the ACL permissions on who can write objects to the container."
#: heat/engine/resources/swift.py:52
msgid ""
@@ -3446,6 +3511,9 @@ msgid ""
" in the map will set the header X-Container-Meta-{key} with the "
"corresponding value."
msgstr ""
+"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."
#: heat/engine/resources/swift.py:59
msgid ""
@@ -3456,27 +3524,27 @@ msgstr ""
#: heat/engine/resources/swift.py:67
msgid "The host from the container URL."
-msgstr ""
+msgstr "The host from the container URL."
#: heat/engine/resources/swift.py:68
msgid "The URL of the container."
-msgstr ""
+msgstr "The URL of the container."
#: heat/engine/resources/swift.py:69
msgid "The parent URL of the container."
-msgstr ""
+msgstr "The parent URL of the container."
#: heat/engine/resources/swift.py:70
msgid "The number of objects stored in the container."
-msgstr ""
+msgstr "The number of objects stored in the container."
#: heat/engine/resources/swift.py:71
msgid "The number of bytes stored in the container."
-msgstr ""
+msgstr "The number of bytes stored in the container."
#: heat/engine/resources/swift.py:72
msgid "A map containing all headers for the container."
-msgstr ""
+msgstr "A map containing all headers for the container."
#: heat/engine/resources/swift.py:108
#, python-format
@@ -3534,111 +3602,128 @@ msgstr ""
#: heat/engine/resources/template_resource.py:224
#, python-format
msgid "Failed to retrieve template data: %s"
-msgstr ""
+msgstr "Failed to retrieve template data: %s"
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
-msgstr ""
+msgstr "A login profile for the user."
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
-msgstr ""
+msgstr "Access policies to apply to the user."
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
-msgstr ""
+msgstr "The name of the user that the new key will belong to."
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
+"Resources that users are allowed to access by the DescribeStackResource "
+"API."
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
-msgstr ""
+msgstr "The availability zone in which the volume will be created."
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
-msgstr ""
+msgstr "The size of the volume in GB."
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
-msgstr ""
+msgstr "If specified, the backup used as the source to create the volume."
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,121 +3731,131 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
-msgid "The ID of the instance to which the volume attaches."
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
msgstr ""
-#: heat/engine/resources/volume.py:378
-msgid "If specified, the snapshot to create the volume from."
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:326
+msgid "The ID of the instance to which the volume attaches."
+msgstr "The ID of the instance to which the volume attaches."
+
+#: heat/engine/resources/volume.py:434
+msgid "If specified, the snapshot to create the volume from."
+msgstr "If specified, the snapshot to create the volume from."
+
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
-msgstr ""
+msgstr "If specified, the backup to create the volume from."
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
-msgstr ""
+msgstr "A name used to distinguish the volume."
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
-msgstr ""
+msgstr "A description of the volume."
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
-msgstr ""
+msgstr "If specified, the type of volume to use, mapping to a specific backend."
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
-msgstr ""
+msgstr "Key/value pairs to associate with the volume."
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
-msgstr ""
+msgstr "If specified, the volume to use as source."
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
-msgstr ""
+msgstr "The availability zone in which the volume is located."
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
-msgstr ""
+msgstr "The snapshot the volume was created from, if any."
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
-msgstr ""
+msgstr "Name of the volume."
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
-msgstr ""
+msgstr "Description of the volume."
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
-msgstr ""
+msgstr "The type of the volume mapping to a backend, if any."
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
-msgstr ""
+msgstr "Key/value pairs associated with the volume."
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
-msgstr ""
+msgstr "The volume used as source, if any."
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
-msgstr ""
+msgstr "The current status of the volume."
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
-msgstr ""
+msgstr "The timestamp indicating volume creation."
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
-msgstr ""
+msgstr "Boolean indicating if the volume can be booted or not."
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
-msgstr ""
+msgstr "The ID of the server to which the volume attaches."
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
-msgstr ""
+msgstr "Multiple routers found with name %s"
#: heat/engine/resources/wait_condition.py:77
#, python-format
@@ -3776,123 +3871,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,18 +4033,18 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
-msgstr ""
+msgstr "All attributes."
#: heat/engine/resources/neutron/firewall.py:118
#: heat/engine/resources/neutron/firewall.py:151
@@ -4091,376 +4186,402 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
-msgstr ""
+msgstr "ID of network to allocate floating IP from."
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
msgid ""
"Extra parameters to include in the \"floatingip\" object in the creation "
"request. Parameters are often specific to installed hardware or "
"extensions."
msgstr ""
+"Extra parameters to include in the \"floatingip\" object in the creation "
+"request. Parameters are often specific to installed hardware or "
+"extensions."
-#: heat/engine/resources/neutron/floatingip.py:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
msgid ""
"ID of an existing port with at least one IP address to associate with "
"this floating IP."
msgstr ""
+"ID of an existing port with at least one IP address to associate with "
+"this floating IP."
-#: heat/engine/resources/neutron/floatingip.py:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
-msgstr ""
+msgstr "IP address to use if the port has multiple addresses."
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
-msgstr ""
+msgstr "ID of the floating IP to associate."
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
-msgstr ""
+msgstr "The minimum time in seconds between regular connections of the member."
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
-msgstr ""
+msgstr "One of predefined health monitor types."
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
+"Number of permissible connection failures before changing the member "
+"status to INACTIVE."
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
msgid ""
"Maximum number of seconds for a monitor to wait for a connection to be "
"established before it times out."
msgstr ""
+"Maximum number of seconds for a monitor to wait for a connection to be "
+"established before it times out."
-#: heat/engine/resources/neutron/loadbalancer.py:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
-msgstr ""
+msgstr "The administrative state of the health monitor."
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
-msgstr ""
+msgstr "The HTTP method used for requests by the monitor of type HTTP."
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
+"The list of HTTP status codes expected in response from the member to "
+"declare it healthy."
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
msgid ""
"The HTTP path used in the HTTP request used by the monitor to test a "
"member health."
msgstr ""
+"The HTTP path used in the HTTP request used by the monitor to test a "
+"member health."
-#: heat/engine/resources/neutron/loadbalancer.py:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
-msgstr ""
+msgstr "The administrative state of this health monitor."
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
-msgstr ""
+msgstr "Tenant owning the health monitor."
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
-msgstr ""
+msgstr "Protocol for balancing."
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
-msgstr ""
+msgstr "The algorithm used to distribute load between the members of the pool."
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
-msgstr ""
+msgstr "Name of the pool."
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
-msgstr ""
+msgstr "Description of the pool."
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
-msgstr ""
+msgstr "The administrative state of this pool."
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
-msgstr ""
+msgstr "IP address and port of the pool."
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
-msgstr ""
+msgstr "Name of the vip."
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
-msgstr ""
+msgstr "Description of the vip."
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
-msgstr ""
+msgstr "IP address of the vip."
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
-msgstr ""
+msgstr "The maximum number of connections per second allowed for the vip."
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
+"TCP port on which to listen for client traffic that is associated with "
+"the vip address."
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
-msgstr ""
+msgstr "The administrative state of this vip."
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
-msgstr ""
+msgstr "List of health monitors associated with the pool."
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
-msgstr ""
+msgstr "Protocol to balance."
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
-msgstr ""
+msgstr "Tenant owning the pool."
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
-msgstr ""
+msgstr "Vip associated with the pool."
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
-msgstr ""
+msgstr "The ID of the load balancing pool."
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
-msgstr ""
+msgstr "Port number on which the servers are running on the members."
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
-msgstr ""
+msgstr "The list of Nova server IDs load balanced."
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
+"A string specifying a symbolic name for the network, which is not "
+"required to be unique."
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
msgid ""
"Extra parameters to include in the \"network\" object in the creation "
"request. Parameters are often specific to installed hardware or "
"extensions."
msgstr ""
+"Extra parameters to include in the \"network\" object in the creation "
+"request. Parameters are often specific to installed hardware or "
+"extensions."
-#: heat/engine/resources/neutron/net.py:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
-msgstr ""
+msgstr "A boolean value specifying the administrative status of the network."
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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 ""
+"The ID of the tenant which will own the network. Only administrative "
+"users can set the tenant identifier; this cannot be changed using "
+"authorisation policies."
-#: heat/engine/resources/neutron/net.py:66
+#: heat/engine/resources/neutron/net.py:65
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 ""
+"Whether this network should be shared across all tenants. Note that the "
+"default policy setting restricts usage of this attribute to "
+"administrative users only."
-#: heat/engine/resources/neutron/net.py:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
-msgstr ""
+msgstr "The status of the network."
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
-msgstr ""
+msgstr "The name of the network."
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
-msgstr ""
+msgstr "Subnets of this network."
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
-msgstr ""
+msgstr "The administrative status of the network."
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
-msgstr ""
+msgstr "The tenant owning this network."
#: heat/engine/resources/neutron/network_gateway.py:56
msgid "The name of the network gateway."
@@ -4508,118 +4629,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
-msgstr ""
+msgstr "The administrative state of this port."
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
-msgstr ""
+msgstr "Unique identifier for the device."
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
-msgstr ""
+msgstr "Name of the network owning the port."
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
-msgstr ""
+msgstr "Friendly name of the port."
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
-msgstr ""
+msgstr "Unique identifier for the network owning the port."
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
-msgstr ""
+msgstr "A list of security groups for the port."
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
-msgstr ""
+msgstr "The status of the port."
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4765,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4677,52 +4801,52 @@ msgstr ""
#: heat/engine/resources/neutron/router.py:93
msgid "The status of the router."
-msgstr ""
+msgstr "The status of the router."
#: heat/engine/resources/neutron/router.py:94
msgid "Gateway network for the router."
-msgstr ""
+msgstr "Gateway network for the router."
#: heat/engine/resources/neutron/router.py:95
msgid "Friendly name of the router."
-msgstr ""
+msgstr "Friendly name of the router."
#: heat/engine/resources/neutron/router.py:96
msgid "Administrative state of the router."
-msgstr ""
+msgstr "Administrative state of the router."
#: heat/engine/resources/neutron/router.py:97
msgid "Tenant owning the router."
-msgstr ""
+msgstr "Tenant owning the router."
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4854,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4866,584 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
-msgstr ""
+msgstr "Friendly name of the subnet."
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
-msgstr ""
+msgstr "Parent network of the subnet."
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
-msgstr ""
+msgstr "Tenant owning the subnet."
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
-msgstr ""
+msgstr "Ip allocation pools and their ranges."
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
-msgstr ""
+msgstr "Ip of the subnet's gateway."
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
-msgstr ""
+msgstr "Ip version for the subnet."
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
-msgstr ""
+msgstr "CIDR block notation for this subnet."
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
-msgstr ""
+msgstr "List of dns nameservers."
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
-msgstr ""
+msgstr "'true' if DHCP is enabled for this subnet; 'false' otherwise."
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
-msgstr ""
+msgstr "Name for the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
-msgstr ""
+msgstr "Description for the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
-msgstr ""
+msgstr "Administrative state for the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
-msgstr ""
+msgstr "Unique identifier for the subnet in which the vpn service will be created."
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
+"Unique identifier for the router to which the vpn service will be "
+"inserted."
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
-msgstr ""
+msgstr "The administrative state of the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
-msgstr ""
+msgstr "The description of the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
-msgstr ""
+msgstr "The name of the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
-msgstr ""
+msgstr "The unique identifier of the router to which the vpn service was inserted."
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
-msgstr ""
+msgstr "The status of the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
-msgstr ""
+msgstr "The unique identifier of the subnet in which the vpn service was created."
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
-msgstr ""
+msgstr "The unique identifier of the tenant owning the vpn service."
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
-msgstr ""
+msgstr "Name for the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
-msgstr ""
+msgstr "Description for the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
-msgstr ""
+msgstr "Remote branch router public IPv4 address or IPv6 address or FQDN."
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
-msgstr ""
+msgstr "Remote branch router identity."
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
-msgstr ""
+msgstr "Remote subnet(s) in CIDR format."
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
-msgstr ""
+msgstr "Maximum transmission unit size (in bytes) for the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
-msgstr ""
+msgstr "Dead Peer Detection protocol configuration for the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
-msgstr ""
+msgstr "Controls DPD protocol mode."
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
-msgstr ""
+msgstr "Number of seconds for the DPD delay."
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
-msgstr ""
+msgstr "Number of seconds for the DPD timeout."
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
-msgstr ""
+msgstr "Pre-shared key string for the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
-msgstr ""
+msgstr "Initiator state in lowercase for the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
-msgstr ""
+msgstr "Administrative state for the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
+"Unique identifier for the ike policy associated with the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
+"Unique identifier for the ipsec policy associated with the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
+"Unique identifier for the vpn service associated with the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
-msgstr ""
+msgstr "The administrative state of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
-msgstr ""
+msgstr "The authentication mode of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
-msgstr ""
+msgstr "The description of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
+"The dead peer detection protocol configuration of the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
+"The unique identifier of ike policy associated with the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
-msgstr ""
+msgstr "The initiator of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
+"The unique identifier of ipsec policy associated with the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
+"The maximum transmission unit size (in bytes) of the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
-msgstr ""
+msgstr "The name of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
-msgstr ""
+msgstr "The remote branch router public IPv4 address or IPv6 address or FQDN."
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
-msgstr ""
+msgstr "The remote subnet(s) in CIDR format of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
-msgstr ""
+msgstr "The remote branch router identity of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
-msgstr ""
+msgstr "The pre-shared key string of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
-msgstr ""
+msgstr "The route mode of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
-msgstr ""
+msgstr "The status of the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
-msgstr ""
+msgstr "The unique identifier of the tenant owning the ipsec site connection."
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
+"The unique identifier of vpn service associated with the ipsec site "
+"connection."
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
-msgstr ""
+msgstr "Name for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
-msgstr ""
+msgstr "Description for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
-msgstr ""
+msgstr "Authentication hash algorithm for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
-msgstr ""
+msgstr "Encryption algorithm for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
-msgstr ""
+msgstr "Negotiation mode for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
-msgstr ""
+msgstr "Safety assessment lifetime configuration for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
-msgstr ""
+msgstr "Safety assessment lifetime units."
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
-msgstr ""
+msgstr "Safety assessment lifetime value in specified units."
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
-msgstr ""
+msgstr "Perfect forward secrecy in lowercase for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
-msgstr ""
+msgstr "Version for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
-msgstr ""
+msgstr "The authentication hash algorithm used by the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
-msgstr ""
+msgstr "The description of the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
-msgstr ""
+msgstr "The encryption algorithm used by the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
-msgstr ""
+msgstr "The version of the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
-msgstr ""
+msgstr "The safety assessment lifetime configuration for the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
-msgstr ""
+msgstr "The name of the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
-msgstr ""
+msgstr "The perfect forward secrecy of the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
-msgstr ""
+msgstr "The negotiation mode of the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
-msgstr ""
+msgstr "The unique identifier of the tenant owning the ike policy."
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
-msgstr ""
+msgstr "Name for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
-msgstr ""
+msgstr "Description for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
-msgstr ""
+msgstr "Transform protocol for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
-msgstr ""
+msgstr "Encapsulation mode for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
-msgstr ""
+msgstr "Authentication hash algorithm for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
-msgstr ""
+msgstr "Encryption algorithm for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
-msgstr ""
+msgstr "Safety assessment lifetime configuration for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
-msgstr ""
+msgstr "Perfect forward secrecy for the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
-msgstr ""
+msgstr "The authentication hash algorithm of the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
-msgstr ""
+msgstr "The description of the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
-msgstr ""
+msgstr "The encapsulation mode of the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
-msgstr ""
+msgstr "The encryption algorithm of the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
-msgstr ""
+msgstr "The safety assessment lifetime configuration of the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
-msgstr ""
+msgstr "The name of the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
-msgstr ""
+msgstr "The perfect forward secrecy of the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
-msgstr ""
+msgstr "The unique identifier of the tenant owning the ipsec policy."
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
-msgstr ""
+msgstr "The transform protocol of the ipsec policy."
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5502,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,284 +5566,129 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
-msgstr ""
+msgstr "Message objects do not support addition."
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
+"Message objects do not support str() because they may contain non-ascii "
+"characters. Please use unicode() or translate() instead."
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "Deprecated: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "Error loading logging config %(log_config)s: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "syslog facility must be one of: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
+msgstr "Fatal call to deprecated config: %(msg)s"
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "JSON file containing policy"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "Rule enforced when requested rule is not found"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "Policy doesn't allow %s to be performed."
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
-msgstr ""
-
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
+msgstr "Rules must be an instance of dict or Rules, got %s instead"
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "Got unknown keyword args to utils.execute: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Running cmd (subprocess): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Result was %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r failed. Retrying."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "Running cmd (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Environment not supported over SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "process_input not supported over SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "Unable to find cert_file : %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "Unable to find ca_file : %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "Unable to find key_file : %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "Invalid SSL version : %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
-msgstr ""
+msgstr "Unrecognised value '%(val)s', acceptable values are: %(acceptable)s"
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
+msgid "Invalid string format: %s"
+msgstr "Invalid string format: %s"
#: heat/openstack/common/versionutils.py:69
#, python-format
@@ -5709,6 +5696,8 @@ 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 ""
+"%(what)s is deprecated as of %(as_of)s in favor of %(in_favor_of)s and "
+"may be removed in %(remove_in)s."
#: heat/openstack/common/versionutils.py:73
#, python-format
@@ -5716,153 +5705,124 @@ msgid ""
"%(what)s is deprecated as of %(as_of)s and may be removed in "
"%(remove_in)s. It will not be superseded."
msgstr ""
+"%(what)s is deprecated as of %(as_of)s and may be removed in "
+"%(remove_in)s. It will not be superseded."
#: heat/openstack/common/crypto/utils.py:27
msgid "An unknown error occurred in crypto utils."
-msgstr ""
+msgstr "An unknown error occurred in crypto utils."
#: heat/openstack/common/crypto/utils.py:34
#, python-format
msgid "Block size of %(given)d is too big, max = %(maximum)d"
-msgstr ""
+msgstr "Block size of %(given)d is too big, max = %(maximum)d"
#: heat/openstack/common/crypto/utils.py:43
#, python-format
msgid "Length of %(given)d is too long, max = %(maximum)d"
-msgstr ""
+msgstr "Length of %(given)d is too long, max = %(maximum)d"
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Invalid Parameter: Unicode is not supported by the current database."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "version should be an integer"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
+"Tables \"%s\" have non utf8 collation, please make sure all tables are "
+"CHARSET=utf8"
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
+"The database is not under version control, but has tables. Please stamp "
+"the current version of the schema manually."
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "Sort key supplied was not valid."
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "Unknown sort direction, must be 'desc' or 'asc'"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Unrecognized read_deleted value '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
+msgid "There is no `project_id` column in `%s` table."
+msgstr "There is no `project_id` column in `%s` table."
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
+msgstr "model should be a subclass of ModelBase"
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
+"Please specify column %s in col_name_col_instance param. It is required "
+"because column has unsupported type by sqlite)."
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
+"col_name_col_instance param has wrong type of column instance for column "
+"%s It should be instance of sqlalchemy.Column."
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
-msgstr ""
+msgstr "Unsupported id columns type"
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
+msgstr "%s not in valid priorities"
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: heat/openstack/common/notifier/list_notifier.py:113
#, python-format
msgid "Problem '%(e)s' attempting to send to notification driver %(driver)s."
-msgstr ""
+msgstr "Problem '%(e)s' attempting to send to notification driver %(driver)s."
-#: heat/openstack/common/notifier/rabbit_notifier.py:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
-msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+msgstr "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
-msgstr ""
+msgstr "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
#: heat/openstack/common/rpc/amqp.py:205
#, python-format
msgid "_call_waiters: %s"
-msgstr ""
+msgstr "_call_waiters: %s"
#: heat/openstack/common/rpc/amqp.py:212
#, python-format
@@ -5870,70 +5830,22 @@ msgid ""
"Number of call waiters is greater than warning threshold: %d. There could"
" be a MulticallProxyWaiter leak."
msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
+"Number of call waiters is greater than warning threshold: %d. There could"
+" be a MulticallProxyWaiter leak."
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "no method for message: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "No method for message: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "An unknown RPC related exception occurred."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5853,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,26 +5862,28 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
+" \"%(method)s\" info: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<unknown>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Found duplicate message(%(msg_id)s). Skipping it."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Invalid reuse of an RPC connection."
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
-msgstr ""
+msgstr "Specified RPC version, %(version)s, not supported by this endpoint."
#: heat/openstack/common/rpc/common.py:159
#, python-format
@@ -5975,303 +5891,76 @@ msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
msgstr ""
+"Specified RPC envelope version, %(version)s, not supported by this "
+"endpoint."
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
+msgstr "Specified RPC version cap, %(version_cap)s, is too low"
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
+"%(max_retries)d tries: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
+msgstr "Invalid value for qpid_topology_version: %d"
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "Could not open socket."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "You cannot recv on this socket."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "You cannot send on this socket."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "Topic contained dangerous characters."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Unsupported or unknown ZMQ envelope returned."
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "RPC Message Invalid."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "No matchmaker results. Not casting."
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "No match from matchmaker."
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "Match not found by MatchMaker."
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "Matchmaker does not implement registration or heartbeat."
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "Register before starting heartbeat."
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5992,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
+msgstr "Testing message %(text)s"
+
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +6015,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/en_GB/LC_MESSAGES/heat.po b/heat/locale/en_GB/LC_MESSAGES/heat.po
index 5e3d369db..6ae8f3f1f 100644
--- a/heat/locale/en_GB/LC_MESSAGES/heat.po
+++ b/heat/locale/en_GB/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# English (United Kingdom) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: en_GB <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (United Kingdom) "
+"(http://www.transifex.com/projects/p/openstack/language/en_GB/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,58 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
+"Got: %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +447,372 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "An unknown exception occurred."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Exception in string format operation"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Missing required credential: %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
+"Incorrect auth strategy, expected \"%(expected)s\" but received "
+"\"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
-msgstr ""
+msgstr "Connect error/bad request to Auth service at URL %(url)s."
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "Auth service at URL %(url)s not found."
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Authorisation failed."
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "You are not authenticated."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "You are not authorised to complete this action."
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "Redirecting to %(uri)s for authorisation."
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "Maximum redirects (%(redirects)s) was exceeded."
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "Received invalid HTTP redirect."
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"Multiple 'image' service matches for region %(region)s. This generally "
+"means that a region is required and you have not supplied one."
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "Invalid content type %(content_type)s"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +822,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +843,217 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
-msgstr ""
+msgstr "The port on which the server will listen."
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"When running server in SSL mode, you must specify both a cert_file and "
+"key_file option value in your configuration file"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "SIGTERM received"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Starting %d workers"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "Removing dead child %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "Caught keyboard interrupt. Exiting."
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "Exited"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "Child %d exiting normally"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "Started child %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "Starting single process server"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Exception handling resource: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "Returning %(code)s to user: %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1063,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "Stack ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Stack Name"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1388,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1632,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1823,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1938,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "ignoring %s"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +2000,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2604,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2641,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Allocate a floating IP from a given floating IP pool."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3132,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3222,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3271,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3281,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3290,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3372,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3380,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3564,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3689,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3829,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3991,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4144,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4561,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4697,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4751,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4786,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4798,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5416,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,284 +5480,127 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got semaphore \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "Deprecated: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "Error loading logging config %(log_config)s: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "syslog facility must be one of: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
+msgstr "Fatal call to deprecated config: %(msg)s"
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "JSON file containing policy"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "Rule enforced when requested rule is not found"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "Policy doesn't allow %s to be performed."
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
-msgstr ""
-
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
+msgstr "Rules must be an instance of dict or Rules, got %s instead"
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "Got unknown keyword args to utils.execute: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Running cmd (subprocess): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Result was %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r failed. Retrying."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "Running cmd (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Environment not supported over SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "process_input not supported over SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "Unable to find cert_file : %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "Unable to find ca_file : %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "Unable to find key_file : %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "Invalid SSL version : %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
-msgstr ""
+msgstr "Unrecognised value '%(val)s', acceptable values are: %(acceptable)s"
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
+msgid "Invalid string format: %s"
+msgstr "Invalid string format: %s"
#: heat/openstack/common/versionutils.py:69
#, python-format
@@ -5719,150 +5618,113 @@ msgstr ""
#: heat/openstack/common/crypto/utils.py:27
msgid "An unknown error occurred in crypto utils."
-msgstr ""
+msgstr "An unknown error occurred in crypto utils."
#: heat/openstack/common/crypto/utils.py:34
#, python-format
msgid "Block size of %(given)d is too big, max = %(maximum)d"
-msgstr ""
+msgstr "Block size of %(given)d is too big, max = %(maximum)d"
#: heat/openstack/common/crypto/utils.py:43
#, python-format
msgid "Length of %(given)d is too long, max = %(maximum)d"
-msgstr ""
+msgstr "Length of %(given)d is too long, max = %(maximum)d"
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Invalid Parameter: Unicode is not supported by the current database."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "version should be an integer"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "Sort key supplied was not valid."
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "Unknown sort direction, must be 'desc' or 'asc'"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Unrecognised read_deleted value '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
+"Please specify column %s in col_name_col_instance param. It is required "
+"because column has unsupported type by sqlite)."
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
+"col_name_col_instance param has wrong type of column instance for column "
+"%s It should be instance of sqlalchemy.Column."
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
-msgstr ""
+msgstr "Unsupported id columns type"
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
+msgstr "%s not in valid priorities"
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
-msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+msgstr "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
-msgstr ""
+msgstr "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
#: heat/openstack/common/rpc/amqp.py:205
#, python-format
msgid "_call_waiters: %s"
-msgstr ""
+msgstr "_call_waiters: %s"
#: heat/openstack/common/rpc/amqp.py:212
#, python-format
@@ -5871,69 +5733,19 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "no method for message: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "No method for message: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "An unknown RPC related exception occurred."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5753,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,26 +5762,28 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
+" \"%(method)s\" info: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<unknown>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Found duplicate message(%(msg_id)s). Skipping it."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Invalid reuse of an RPC connection."
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
-msgstr ""
+msgstr "Specified RPC version, %(version)s, not supported by this endpoint."
#: heat/openstack/common/rpc/common.py:159
#, python-format
@@ -5975,303 +5791,76 @@ msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
msgstr ""
+"Specified RPC envelope version, %(version)s, not supported by this "
+"endpoint."
#: heat/openstack/common/rpc/common.py:164
#, python-format
msgid "Specified RPC version cap, %(version_cap)s, is too low"
-msgstr ""
+msgstr "Specified RPC version cap, %(version_cap)s, is too low"
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
+"%(max_retries)d tries: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
+msgstr "Invalid value for qpid_topology_version: %d"
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "Could not open socket."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "You cannot recv on this socket."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "You cannot send on this socket."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "Topic contained dangerous characters."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Unsupported or unknown ZMQ envelope returned."
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "RPC Message Invalid."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "No matchmaker results. Not casting."
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "No match from matchmaker."
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "Match not found by MatchMaker."
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "Matchmaker does not implement registration or heartbeat."
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "Register before starting heartbeat."
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5892,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5915,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/en_US/LC_MESSAGES/heat.po b/heat/locale/en_US/LC_MESSAGES/heat.po
index ef1612b93..7fd2d1e9c 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-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: en_US <LL@li.org>\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/es/LC_MESSAGES/heat.po b/heat/locale/es/LC_MESSAGES/heat.po
index c45807c99..3019a203e 100644
--- a/heat/locale/es/LC_MESSAGES/heat.po
+++ b/heat/locale/es/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# Spanish translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: es <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 20:41+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Spanish "
+"(http://www.transifex.com/projects/p/openstack/language/es/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,59 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"No se ha podido cargar %(app_name)s desde el archivo de configuración "
+"%(conf_file)s.\n"
+"Se ha obtenido: %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +448,375 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "Una excepcion desconocida ha ocurrido"
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Excepción en la operación de formato de serie"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Falta la credencial necesaria :%(required)s "
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
+"Estrategia de autorización incorrecta, se esperaba \"%(expected)s\" pero "
+"se ha recibido \"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
+"Solicitud incorrecta/error de conexión a servicio de autorización en el "
+"URL %(url)s."
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "No se ha encontrado el servicio de autorización en el URL %(url)s."
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Ha fallado la autorización."
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "No está autenticado."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "No está autorizado a completar esta acción."
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "Redirigiendo a %(uri)s para la autorización. "
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "Se ha superado el máximo de redirecciones (%(redirects)s)."
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "Se ha recibido redirección HTTP no válida. "
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"Varias coincidencias de servicio 'image' para la región %(region)s. Esto "
+"generalmente significa que es necesaria una región y que no se ha "
+"proporcionado ninguna."
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "Tipo de contenido no válido %(content_type)s"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +826,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +847,217 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"Al ejecutar el servidor en modalidad SSL, debe especificar un valor para "
+"las opciones cert_file y key_file en el archivo de configuración"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "Se ha recibido SIGTERM"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Iniciando %d trabajadores"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "Eliminando hijo muerto %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "Se ha generado interrupción de teclado. Saliendo."
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "Se ha salido"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "El hijo %d está saliendo de forma normal"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "Se ha iniciado el hijo %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "Iniciando servidor de proceso individual"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Excepción al manejar recurso: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "Devolviendo %(code)s al usuario: %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1067,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "ID de pila"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Nombre de la pila"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1392,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "Suprimir %s"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1636,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1827,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +2004,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2608,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2645,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Asignar una IP flotante desde un pool de IPs flotantes."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3136,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3226,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3275,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3285,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3294,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3376,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3384,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3568,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3693,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3833,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3995,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4148,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4565,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4701,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4755,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4790,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4802,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5420,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,284 +5484,131 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "En desuso: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "Error al cargar la configuración de registro %(log_config)s: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "El recurso syslog debe ser uno de: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
+msgstr "Llamada muy grave a configuración en desuso: %(msg)s"
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "Fichero JSON que contiene la política"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "Regla forzada cuando la regla solicitada no es encontrada"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "La política no permite que se realice %s."
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
+"Reglas deben ser una instancia del diccionario o Reglas, obtenido %s en "
+"lugar de"
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
+"Se han obtenido argumentos de palabra clave desconocidos en "
+"utils.execute: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Ejecutando cmd (subprocesos): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "El resultado fue %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r ha fallado. Volviendo a intentarlo."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "corriendo cmd (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Entorno no soportado a través de SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "entrada de proceso no soporta a través de SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "No se puede encontrar cert_file: %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "No se puede encontrar ca_file: %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "No se puede encontrar key_file: %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "Versión SSL inválida : %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
-msgstr ""
+msgstr "Valor '%(val)s' no reconocido, los valores aceptables son: %(acceptable)s"
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
-msgstr ""
+msgid "Invalid unit system: \"%s\""
+msgstr "Unidad del sistema no valida: \"%s\""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
+msgid "Invalid string format: %s"
+msgstr "Formato inválido de cadena: %s"
#: heat/openstack/common/versionutils.py:69
#, python-format
@@ -5719,150 +5626,117 @@ msgstr ""
#: heat/openstack/common/crypto/utils.py:27
msgid "An unknown error occurred in crypto utils."
-msgstr ""
+msgstr "Ha ocurrido un error desconocido en crypto utils."
#: heat/openstack/common/crypto/utils.py:34
#, python-format
msgid "Block size of %(given)d is too big, max = %(maximum)d"
-msgstr ""
+msgstr "Tamaño de bloque de %(given)d es demasiado grande, máximo = %(maximum)d"
#: heat/openstack/common/crypto/utils.py:43
#, python-format
msgid "Length of %(given)d is too long, max = %(maximum)d"
-msgstr ""
+msgstr "Longitud de %(given)d es demasiado larga, máxima = %(maximum)d"
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Parámetro no válido: la base de datos actual no soporta Unicode."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "la versión debe ser un entero"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "La clave de clasificación proporcionada no es válida. "
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "Dirección de clasificación desconocida, debe ser 'desc' o ' asc'"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Valor de read_deleted no reconocido '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
+"Especifique la columna %s en el parámetro col_name_col_instance. Es "
+"necesario porque la columna tiene un tipo no soportado por sqlite)."
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
+"col_name_col_instance param tiene el tipo incorrecto de instancia de "
+"columna para la columna %s. Debe ser una instancia de sqlalchemy.Column."
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
-msgstr ""
+msgstr "Tipo de identificador de columnas no soportado"
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s no está en las prioridades válidas"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+"Actualmente rabbit_notifier está en desuso. En su lugar utilice "
+"rpc_notifier."
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
msgstr ""
+"No hay subprocesos de llamada esperando por msg_id : %(msg_id)s, mensaje "
+": %(data)s"
#: heat/openstack/common/rpc/amqp.py:205
#, python-format
msgid "_call_waiters: %s"
-msgstr ""
+msgstr "_call_waiters: %s"
#: heat/openstack/common/rpc/amqp.py:212
#, python-format
@@ -5871,69 +5745,19 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "no hay método para el mensaje: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "No hay método para el mensaje: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "Se ha producido una excepción desconocida relacionada con RPC."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5765,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Error remoto: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,26 +5774,30 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"Tiempo de espera agotado en espera de una respuesta RPC - tema: "
+"\"%(topic)s\", método RPC: \"%(method)s\" información: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<desconocido>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Se ha encontrado un mensaje duplicado (%(msg_id)s). Se va a saltar."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Reuso invalido de una coneccion RPC"
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
msgstr ""
+"Versión de RPC especificada, %(version)s, no soportada por este punto "
+"final."
#: heat/openstack/common/rpc/common.py:159
#, python-format
@@ -5975,303 +5805,76 @@ msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
msgstr ""
+"Versión de sobre de RPC especificada, %(version)s, no soportada por este "
+"punto final."
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
+msgstr "Límite de versión RPC especificada, %(version_cap)s, es muy baja"
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"No se ha podido conectar con el servidor AMQP en %(hostname)s:%(port)d "
+"después de %(max_retries)d intentos: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "No se ha podido abrir el socket."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "No puede recibir en este socket."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "No puede enviar en este socket."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "El tema contenía caracteres peligrosos."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Se ha devuelto un sobre de ZMQ no soportado o desconocido."
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "Mensaje de RPC no válido."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "No hay resultados de Matchmaker. No hay difusión."
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "No hay coincidencias de Matchmaker."
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s está obsoleto; use %(new)s en su lugar"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "Coincidencia no encontrada por MatchMaker."
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "Matchmaker no implementa registro o pulsación."
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "Registre antes de iniciar la pulsación."
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5906,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5929,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/es_MX/LC_MESSAGES/heat.po b/heat/locale/es_MX/LC_MESSAGES/heat.po
index c63815a79..e5450ba74 100644
--- a/heat/locale/es_MX/LC_MESSAGES/heat.po
+++ b/heat/locale/es_MX/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Spanish (Mexico) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Spanish (Mexico) "
"(http://www.transifex.com/projects/p/openstack/language/es_MX/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr "Ha ocurrido un error desconocido."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/eu/LC_MESSAGES/heat.po b/heat/locale/eu/LC_MESSAGES/heat.po
index c770cd428..e581f329d 100644
--- a/heat/locale/eu/LC_MESSAGES/heat.po
+++ b/heat/locale/eu/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Basque translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-11-06 03:20+0000\n"
-"Last-Translator: Tom Fifield <tom@openstack.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Basque "
"(http://www.transifex.com/projects/p/openstack/language/eu/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/eu_ES/LC_MESSAGES/heat.po b/heat/locale/eu_ES/LC_MESSAGES/heat.po
index b00af0654..07a1c17c3 100644
--- a/heat/locale/eu_ES/LC_MESSAGES/heat.po
+++ b/heat/locale/eu_ES/LC_MESSAGES/heat.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: 2013-11-27 12:03+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Basque (Spain) "
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/fa/LC_MESSAGES/heat.po b/heat/locale/fa/LC_MESSAGES/heat.po
index 24df8fdd4..24919cb84 100644
--- a/heat/locale/fa/LC_MESSAGES/heat.po
+++ b/heat/locale/fa/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Persian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-11-27 12:03+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Persian "
"(http://www.transifex.com/projects/p/openstack/language/fa/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/fi_FI/LC_MESSAGES/heat.po b/heat/locale/fi_FI/LC_MESSAGES/heat.po
index 1dc371058..6e1ed349a 100644
--- a/heat/locale/fi_FI/LC_MESSAGES/heat.po
+++ b/heat/locale/fi_FI/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Finnish (Finland) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Finnish (Finland) "
"(http://www.transifex.com/projects/p/openstack/language/fi_FI/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/fil/LC_MESSAGES/heat.po b/heat/locale/fil/LC_MESSAGES/heat.po
index f9082fb06..292a660aa 100644
--- a/heat/locale/fil/LC_MESSAGES/heat.po
+++ b/heat/locale/fil/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Filipino translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Filipino "
"(http://www.transifex.com/projects/p/openstack/language/fil/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/fr/LC_MESSAGES/heat.po b/heat/locale/fr/LC_MESSAGES/heat.po
index 36f8e37cc..324b517df 100644
--- a/heat/locale/fr/LC_MESSAGES/heat.po
+++ b/heat/locale/fr/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# French translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: fr <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: French "
+"(http://www.transifex.com/projects/p/openstack/language/fr/)\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,59 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"Impossible de charger %(app_name)s depuis le fichier de configuration "
+"%(conf_file)s.\n"
+"Résultat : %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +448,375 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "Une exception inconnue s'est produite."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Exception dans l'opération de format de chaîne"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Données d'identification obligatoires manquantes : %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
+"Stratégie d'autorisation incorrecte, valeur attendue \"%(expected)s\" "
+"mais valeur obtenue \"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
+"Erreur de connexion/demande erronée pour le service d'auth à l'URL "
+"%(url)s."
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "Service d'auth à l'URL %(url)s non trouvé."
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Echec de l'autorisation."
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "Vous n'êtes pas authentifié."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "Vous n'êtes pas autorisé à effectuer cette action."
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "Redirection vers %(uri)s pour autorisation."
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "Le nombre maximum de redirections (%(redirects)s) a été dépassé."
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "Redirection HTTP non valide reçue."
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"Plusieurs correspondances de service 'image' pour la région %(region)s. "
+"En général, cela signifie qu'une région est requise et que vous n'en avez"
+" pas indiquée."
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "Type de contenu non valide %(content_type)s"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +826,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +847,217 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
-msgstr ""
+msgstr "Le port sur lequel le serveur écoutera."
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"Lors de l'exécution du serveur en mode SSL, vous devez spécifier une "
+"valeur d'option cert_file et key_file dans votre fichier de configuration"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "SIGTERM reçu"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Démarrage des travailleurs %d"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "Retrait de l'enfant arrêté %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "Interruption interceptée de clavier. Fermeture du programme en cours."
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "Sorti"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "Sortie normale de l'enfant %d"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "Enfant démarré %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "Démarrage de serveur de processus unique"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Exception lors du traitement de la ressource : %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "Renvoie %(code)s à l'utilisateur : %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1067,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "Id de la pile."
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Nom de la Pile"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1392,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "Supprimer %s"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1636,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1827,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1942,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "%s ignoré"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +2004,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2608,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2645,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Allouer une IP flottante depuis un pool d'IP."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3136,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3226,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3275,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3285,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3294,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3376,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3384,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3568,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3693,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3833,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3995,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4148,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4565,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4701,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4755,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4790,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4802,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5420,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,284 +5484,131 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
-msgstr ""
+msgstr "Les objets message ne supportent pas l'addition."
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
+"Les objets message ne supportent pas str() parce qu'il peuvent contenir "
+"des caractères non-ascii. Utiliser unicode() ou translate() à la place."
-#: heat/openstack/common/lockutils.py:82
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Created lock path: %s"
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "Obsolète : %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "Erreur lors du chargement de la configuration %(log_config)s: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "la fonction syslog doit correspondre à l'une des options suivantes : %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
+msgstr "Appel fatal adressé à une configuration obsolète : %(msg)s"
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "fichier JSON contenant la politique"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "Règle appliquée quand la règle demandée n'est pas trouvée"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "La politique ne permet pas d'exécuter %s."
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
+"Les Règles doivent être une instance d'un dict ou une Règle, pris %s à la"
+" place"
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "Arguments de mot clé inconnus obtenus pour utils.execute : %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Execution de la commande (sous-processus) : %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Le résultat était %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "Echec de %r. Nouvelle tentative."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "Execution de la cmd (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Environnement non pris en charge sur SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "process_input non pris en charge sur SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "Impossible de trouver cert_file : %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "Impossible de trouver ca_file : %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "Impossible de trouver key_file : %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "Version de SSL invalide : %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
-msgstr ""
+msgstr "Valeur inconnue '%(val)s', les valeurs acceptées sont: %(acceptable)s"
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
+msgid "Invalid string format: %s"
+msgstr "Format de chaine de caractères non valide : %s"
#: heat/openstack/common/versionutils.py:69
#, python-format
@@ -5719,150 +5626,122 @@ msgstr ""
#: heat/openstack/common/crypto/utils.py:27
msgid "An unknown error occurred in crypto utils."
-msgstr ""
+msgstr "Une erreur inconnue s'est produite avec les outils crypto."
#: heat/openstack/common/crypto/utils.py:34
#, python-format
msgid "Block size of %(given)d is too big, max = %(maximum)d"
-msgstr ""
+msgstr "La taille du block %(given)d est trop grande. max = %(maximum)d"
#: heat/openstack/common/crypto/utils.py:43
#, python-format
msgid "Length of %(given)d is too long, max = %(maximum)d"
-msgstr ""
+msgstr "%(given)d est trop longue. max = %(maximum)d"
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
+"Paramètre non valide : Unicode n'est pas pris en charge par la base de "
+"données actuelle."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "la version doit être un entier"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
+"Les tables \"%s\" ont une collation non utf8, assurez-vous que pour "
+"toutes les tables CHARSET=utf8."
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
+"La base de données n'est pas versionnée, mais contient des tables. "
+"Veuillez indiquer manuellement la version courante du schéma."
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "La clé de tri fournie n'était pas valide."
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "Sens de tri inconnu, doit être 'desc' ou 'asc'"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Valeur read_deleted non reconnue '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
+"Spécifiez la colonne %s dans le paramètre col_name_col_instance. Ceci est"
+" obligatoire car la colonne a un type non pris en charge dans sqlite)."
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
+"Le paramètre col_name_col_instance contient un type d'instance de colonne"
+" incorrect pour la colonne %s. Il devrait être une instance de "
+"sqlalchemy.Column."
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
-msgstr ""
+msgstr "Type de colonnes id non pris en charge"
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s pas dans les priorités valides"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
-msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+msgstr "rabbit_notifier est désormais obsolète. Utilisez rpc_notifier à la place."
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
msgstr ""
+"Pas d'unité d'exécution appelante en attente de %(msg_id)s, message : "
+"%(data)s"
#: heat/openstack/common/rpc/amqp.py:205
#, python-format
msgid "_call_waiters: %s"
-msgstr ""
+msgstr "_call_waiters: %s"
#: heat/openstack/common/rpc/amqp.py:212
#, python-format
@@ -5871,69 +5750,19 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "Pas de méthode pour le message : %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "Pas de méthode pour le message : %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "Exception d'appel de procédure distante inconnue."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5770,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Erreur distante : %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,26 +5779,30 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"Délai d'attente de la réponse RPC dépassée : topic : \"%(topic)s\", "
+"Méthode RPC: \"%(method)s infos: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<inconnu>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Message en double trouvé (%(msg_id)s). Message ignoré."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Réutilisation invalide d'une connexion RPC"
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
msgstr ""
+"Version d'appel de procédure distante, %(version)s, non prise en charge "
+"par ce noeud final."
#: heat/openstack/common/rpc/common.py:159
#, python-format
@@ -5975,303 +5810,78 @@ msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
msgstr ""
+"Version spécifiée d'enveloppe d'appel d'une procédure distante, "
+"%(version)s, non prise en charge par ce noeud final."
#: heat/openstack/common/rpc/common.py:164
#, python-format
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
+"Le plafond de version spécifié pour les appel de procédure distante, "
+"%(version_cap)s, est trop bas"
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Connexion impossible au serveur AMQP sur %(hostname)s:%(port)d après "
+"%(max_retries)d tentative(s) : %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
+msgstr "Valeur non valide pour qpid_topology_version: %d"
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "Impossible d'ouvrir le socket."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "Vous ne pouvez pas recevoir sur ce socket."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "Vous ne pouvez pas envoyer sur ce socket."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "Rubrique contenant des caractères dangereux."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Enveloppe ZMQ non prise en charge ou inconnue renvoyée."
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "Message appel de procédure distante non valide."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "Aucun résultat du matchmaker. Pas de transtypage."
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "Aucune correspondance du matchmaker."
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s est obsolète; utiliser plutôt %(new)s"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "Aucune correspondance trouvée par MatchMaker."
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "Matchmaker n'implémente pas d'enregistrement ou de pulsation."
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "Enregistre avant le début des pulsations."
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5913,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5936,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/gl/LC_MESSAGES/heat.po b/heat/locale/gl/LC_MESSAGES/heat.po
index af24c0864..e6400aecf 100644
--- a/heat/locale/gl/LC_MESSAGES/heat.po
+++ b/heat/locale/gl/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Galician translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-29 15:55+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Galician "
"(http://www.transifex.com/projects/p/openstack/language/gl/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/he/LC_MESSAGES/heat.po b/heat/locale/he/LC_MESSAGES/heat.po
index f4373a954..af6628165 100644
--- a/heat/locale/he/LC_MESSAGES/heat.po
+++ b/heat/locale/he/LC_MESSAGES/heat.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2014-01-31 01:55+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hebrew "
"(http://www.transifex.com/projects/p/openstack/language/he/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "שם הערימה"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/he_IL/LC_MESSAGES/heat.po b/heat/locale/he_IL/LC_MESSAGES/heat.po
index 0741359ab..c87427340 100644
--- a/heat/locale/he_IL/LC_MESSAGES/heat.po
+++ b/heat/locale/he_IL/LC_MESSAGES/heat.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2014-01-31 01:55+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hebrew (Israel) "
"(http://www.transifex.com/projects/p/openstack/language/he_IL/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/heat.pot b/heat/locale/heat.pot
index fa7745bfd..3178a05fb 100644
--- a/heat/locale/heat.pot
+++ b/heat/locale/heat.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: heat jenkins.heat.propose.translation.update.189\n"
+"Project-Id-Version: heat 2014.2.dev132.g635fad8\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,248 +17,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -309,7 +309,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -321,53 +326,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -376,51 +385,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -435,359 +444,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -797,20 +815,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -818,215 +836,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1036,340 +1054,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1379,237 +1379,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1619,148 +1623,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1810,89 +1814,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1967,569 +1991,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2575,15 +2595,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2612,441 +2632,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3103,89 +3123,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3193,48 +3213,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3242,7 +3262,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3252,7 +3272,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3261,81 +3281,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3343,7 +3363,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3351,79 +3371,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3535,109 +3555,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3645,118 +3680,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3775,123 +3820,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3937,16 +3982,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4090,374 +4135,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4507,118 +4552,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4643,24 +4688,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4694,34 +4742,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4729,11 +4777,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4741,566 +4789,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5359,57 +5407,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5423,250 +5471,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5687,19 +5578,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5730,90 +5621,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5822,37 +5694,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5870,21 +5720,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5895,41 +5730,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5980,131 +5780,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6113,106 +5804,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6221,16 +5816,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6252,26 +5837,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6302,12 +5871,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6315,11 +5894,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/hi/LC_MESSAGES/heat.po b/heat/locale/hi/LC_MESSAGES/heat.po
index 73a9512e5..7a8183fa6 100644
--- a/heat/locale/hi/LC_MESSAGES/heat.po
+++ b/heat/locale/hi/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Hindi translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hindi "
"(http://www.transifex.com/projects/p/openstack/language/hi/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "ढेर आईडी"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr " ढेर नाम"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "किसी दिए गए अस्थायी आईपी पूल से एक अस्थायी आईपी आबंटित करें."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/hr/LC_MESSAGES/heat.po b/heat/locale/hr/LC_MESSAGES/heat.po
index 3e253488e..2da354fa5 100644
--- a/heat/locale/hr/LC_MESSAGES/heat.po
+++ b/heat/locale/hr/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Croatian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Croatian "
"(http://www.transifex.com/projects/p/openstack/language/hr/)\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/hu/LC_MESSAGES/heat.po b/heat/locale/hu/LC_MESSAGES/heat.po
index 3fedc50ee..d2e0dcd82 100644
--- a/heat/locale/hu/LC_MESSAGES/heat.po
+++ b/heat/locale/hu/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Hungarian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hungarian "
"(http://www.transifex.com/projects/p/openstack/language/hu/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/id/LC_MESSAGES/heat.po b/heat/locale/id/LC_MESSAGES/heat.po
index d66ebec1f..d7c5ee7e4 100644
--- a/heat/locale/id/LC_MESSAGES/heat.po
+++ b/heat/locale/id/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Indonesian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Indonesian "
"(http://www.transifex.com/projects/p/openstack/language/id/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/is_IS/LC_MESSAGES/heat.po b/heat/locale/is_IS/LC_MESSAGES/heat.po
index a7747c01f..bbe6b1dc3 100644
--- a/heat/locale/is_IS/LC_MESSAGES/heat.po
+++ b/heat/locale/is_IS/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Icelandic (Iceland) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-12-16 02:54+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Icelandic (Iceland) "
"(http://www.transifex.com/projects/p/openstack/language/is_IS/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/it/LC_MESSAGES/heat.po b/heat/locale/it/LC_MESSAGES/heat.po
index 69c2cf105..ba55aafdb 100644
--- a/heat/locale/it/LC_MESSAGES/heat.po
+++ b/heat/locale/it/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# Italian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: it <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Italian "
+"(http://www.transifex.com/projects/p/openstack/language/it/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,59 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"Impossibile caricare %(app_name)s dal file di configurazione "
+"%(conf_file)s.\n"
+"Ricevuto: %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +448,375 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "E' stato riscontrato un errore sconosciuto"
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Eccezione nell'operazione di formattazione della stringa"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Credenziale richiesta mancante: %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
+"Strategia di autenticazione errata, previsto \"%(expected)s\" ma ricevuto"
+" \"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
+"Connetti richiesta/non corretta o in errore per il servizio di "
+"autenticazione all'URL %(url)s."
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "Servizio di autenticazione all'URL %(url)s non trovato."
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Autorizzazione non riuscita."
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "L'utente non è autenticato."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "Non si è autorizzati a completare questa azione."
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "Reindirizzamento a %(uri)s per l'autorizzazione."
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "Il numero massimo di rendirizzamenti (%(redirects)s) è stato superato."
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "Ricevuto un reindirizzamento HTTP non valido."
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"Il servizio 'immagine' multipla corrisponde nella regione %(region)s. "
+"Questo in genere significa che una regione è obbligatoria e non ne è "
+"stata fornita una."
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "Tipo contenuto non valido %(content_type)s"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +826,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +847,217 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"Quando si esegue il server in modalità SSL, è necessario specificare sia "
+"un valore dell'opzione cert_file che key_file nel file di configurazione"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "Ricevuto SIGTERM"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Avvio %d operatori"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "Rimozione child inattivo %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "Rilevata interruzione tastiera. Uscire."
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "Uscita"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "L'elemento child %d normalmente in uscita"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "Child avviato %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "Avvio server di processo singolo"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Eccezione durante la gestione della risorsa: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "Restituzione di %(code)s all'utente: %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1067,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1392,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "Elimina %s"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1636,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1827,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "Resources must contain Resource. Found a [%s] instead"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/update.py:79
#, python-format
msgid "Deleting backup resource %s"
msgstr ""
-#: heat/engine/update.py:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +2004,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2608,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2645,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3136,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3226,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3275,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3285,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3294,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3376,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3384,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3568,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3693,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3833,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3995,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4148,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4565,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4701,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4755,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4790,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4802,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5420,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,283 +5484,128 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "Obsoleto: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "La funzione syslog deve essere una tra le seguenti: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
+msgstr "Chiamata errata alla configurazione obsoleta: %(msg)s"
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
+"Gli argomenti parola chiave ricevuti sono sconosciuti per utils.execute: "
+"%r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Esecuzione del comando (sottoprocesso): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Il risultato é %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r non riuscito. Nuovo tentativo."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "Eseguendo cmd (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Ambiente non supportato in SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "input_processo non supportato in SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "Impossibile trovare il file_cert : %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "Impossibile trovare il file_ca: %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "Impossibile trovare il file_chiavi : %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,128 +5636,91 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Parametro non valido: Unicode non è supportato dal database corrente."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "la versione deve essere un numero intero"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "La chiave di ordinamento fornita non è valida."
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "Direzione ordinamento sconosciuta, deve essere 'desc' o 'asc'"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Valore read_deleted non riconosciuto '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
+"Specificar la colonna %s nel parametro col_name_col_instance. È richiesto"
+" perché la colonna ha un tipo non supportato da sqlite)."
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
+"Il parametro col_name_col_instance ha un tipo errato di istanza della "
+"colonna per la colonna %s. Deve essere l'istanza di sqlalchemy.Column."
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
+msgstr "%s non ha priorità valide"
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
-msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+msgstr "Rabbit_notifier è obsoleto. Utilizzare invece rpc_notifier."
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
@@ -5871,69 +5739,19 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "nessun metodo per il messaggio: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "nessun metodo per il messagggio: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "Si è verificata un'eccezione relativa a RPC sconosciuta."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5759,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Errore remoto: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5958,16 +5778,18 @@ msgstr ""
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Trovato messaggio duplicato (%(msg_id)s). Viene ignorato."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Riutilizzo invalido di una connessione RPC."
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
msgstr ""
+"La versione RPC specificata, %(version)s, non è supportata da questo "
+"endpoint."
#: heat/openstack/common/rpc/common.py:159
#, python-format
@@ -5975,270 +5797,59 @@ msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
msgstr ""
+"Versione della busta RPC specificata, %(version)s, non supportata da "
+"questo endpoint."
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Impossibile connettersi al server AMQP su %(hostname)s:%(port)d dopo "
+"%(max_retries)d tentativi: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "Impossibile aprire il socket."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "Impossibile ricevere su questo socket."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "Impossibile inviare a questo socket."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "L'argomento conteneva caratteri pericolosi."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Envelope ZMQ restituito non è supportato o è sconosciuto"
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "Messaggio RPC non valido."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "Nessun risultato di matchmaker. Nessun casting."
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "Nessuna corrispondenza per matchmaker."
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
@@ -6247,31 +5858,15 @@ msgstr ""
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "Corrispondenza non trovata da MatchMaker."
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "Matchmaker non implementa la registrazione o heartbeat."
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "Registrare prima di avviare heartbeat."
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5898,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5921,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/it_IT/LC_MESSAGES/heat.po b/heat/locale/it_IT/LC_MESSAGES/heat.po
index ac9eff05c..658f64e71 100644
--- a/heat/locale/it_IT/LC_MESSAGES/heat.po
+++ b/heat/locale/it_IT/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Italian (Italy) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Italian (Italy) "
"(http://www.transifex.com/projects/p/openstack/language/it_IT/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ja/LC_MESSAGES/heat.po b/heat/locale/ja/LC_MESSAGES/heat.po
index 0ee4bc0c5..00dbfbfdf 100644
--- a/heat/locale/ja/LC_MESSAGES/heat.po
+++ b/heat/locale/ja/LC_MESSAGES/heat.po
@@ -1,265 +1,267 @@
# Japanese translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
+# Satoshi Kodama <snipsnipsnip@users.sourceforge.jp>, 2013
+# Tomoyuki KATO <tomo@dream.daynight.jp>, 2013
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: ja <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Japanese "
+"(http://www.transifex.com/projects/p/openstack/language/ja/)\n"
"Plural-Forms: nplurals=1; plural=0\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
-msgstr ""
+msgstr "無効なテンプレート URL"
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
-msgstr ""
+msgstr "TemplateBody または TemplateUrl が指定されていません。"
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
-msgstr ""
+msgstr "テンプレートは JSON または YAML ドキュメントである必要があります。"
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +312,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +329,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +388,58 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"構成ファイル %(conf_file)s から %(app_name)s をロードできません。\n"
+"受け取ったエラー: %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +449,370 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "不明な例外が発生しました。"
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "ストリング・フォーマットの操作で例外が発生しました"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "必須の資格情報がありません: %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
-msgstr ""
+msgstr "認証ストラテジーが誤っています。\"%(expected)s\" が必要ですが、\"%(received)s\" を受け取りました"
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
-msgstr ""
+msgstr "接続エラー/URL %(url)s の認証サービスに対する正しくない要求。"
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "URL %(url)s の認証サービスが見つかりません。"
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "認証に失敗しました。"
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "認証されていません。"
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "このアクションの実行を許可されていません。"
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "許可のために %(uri)s にリダイレクトしています。"
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "最大リダイレクト数 (%(redirects)s) を超えました。"
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "無効な HTTP リダイレクトを受け取りました。"
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"領域 %(region)s "
+"に対して複数の「イメージ」サービスが一致します。これは一般に、領域が必要であるのに、領域を指定していないことを意味します。"
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "コンテンツ・タイプ %(content_type)s が無効です"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +822,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +843,217 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"サーバーを SSL モードで実行する場合は、cert_file オプション値と key_file "
+"オプション値の両方を構成ファイルに指定する必要があります"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "SIGTERM を受け取りました"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "%d ワーカーを開始しています"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "非活動の子 %s を削除中"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "キーボードの割り込みが見つかりました。終了します。"
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "終了しました"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "子 %d を正常に終了しています"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "子 %s を開始しました"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "単一のプロセス・サーバーを始動中"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "リソースの処理中に例外が発生しました: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "%(code)s をユーザーに返しています: %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1063,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "スタック ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "スタック名"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1388,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "%s の削除"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1632,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1823,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +2000,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2604,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2641,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "指定した Floating IP プールから Floating IP を確保します。"
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3132,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
msgid ""
"The size of the volume, in GB. It is safe to leave this blank and have "
"the Compute service infer the size."
-msgstr ""
+msgstr "ボリュームのギガバイト単位の容量。このフィールドを空欄にして、Compute サービスに容量を推定させるのが安全です。"
-#: heat/engine/resources/server.py:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3222,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3271,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3281,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3290,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3372,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3380,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3564,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
-msgstr ""
+msgstr "GB 単位のボリューム容量。"
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3689,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3829,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3991,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4144,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4561,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4697,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4751,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4786,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4798,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5416,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,283 +5480,126 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "非推奨: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "ログ設定 %(log_config)s の読み込みエラー: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "syslog 機能は次のいずれかでなければなりません: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
+msgstr "推奨されない構成への致命的な呼び出し: %(msg)s"
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "ポリシーが格納された JSON ファイル"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "要求されたルールが見つからなかった場合に適用されるルール"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "ポリシーは %s の実行を許可していません。"
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
-msgstr ""
-
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
+msgstr "ルールは辞書型または Rules のインスタンスでなければいけませんが、%s が渡されました。"
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "utils.execute の不明なキーワード引数を受け取りました: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "コマンド実行(subprocess): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "コマンド実行結果: %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r が失敗しました。再試行しています。"
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "コマンド(SSH)を実行: %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "環境は SSH でサポートされていません"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "SSH で process_input は サポートされていません"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "cert_file が見つかりません: %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "ca_file が見つかりません: %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "key_file が見つかりません: %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "無効な SSL バージョン : %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,128 +5630,91 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "無効なパラメーター: ユニコードは現在のデータベースではサポートされていません。"
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "バージョンは整数でなければなりません"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "指定されたソート・キーが無効でした。"
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "ソート方向が不明です。'desc' または 'asc' でなければなりません"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "認識されない read_deleted 値 '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
+"col_name_col_instance パラメーターに列 %s を指定してください。これは、列に、sqlite) "
+"によってサポートされないタイプがあるために必要です。"
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
+"col_name_col_instance パラメーターに、列 %s では正しくないタイプの列インスタンスがあります。これは "
+"sqlalchemy.Column のインスタンスでなければなりません。"
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
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/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s の優先順位が無効です"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
-msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+msgstr "rabbit_notifier は現在推奨されていません。代わりに rpc_notifier を使用してください。"
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
@@ -5869,71 +5731,21 @@ msgstr ""
msgid ""
"Number of call waiters is greater than warning threshold: %d. There could"
" be a MulticallProxyWaiter leak."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
+msgstr "呼び出し待ちの数が警告閾値 %d を超えました。 MulticallProxyWaiter のリークの可能性があります。"
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "メッセージ %s に対するメソッドが存在しません。"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "メッセージ %s に対するメソッドが存在しません。"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "RPC 関連の不明な例外が発生しました。"
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5753,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"リモート・エラー: %(exc_type)s %(value)s\n"
+"%(traceback)s。"
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,330 +5762,103 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"RPC 応答を待っている間にタイムアウトが発生しました - topic: \"%(topic)s\", RPC method: "
+"\"%(method)s\" info: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<unknown>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "重複メッセージ (%(msg_id)s) を検出しました。スキップします。"
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "RPC 接続の無効な再利用です。"
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
-msgstr ""
+msgstr "このエンドポイントでサポートされていない RPC バージョン %(version)s が指定されました。"
#: heat/openstack/common/rpc/common.py:159
#, python-format
msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
-msgstr ""
+msgstr "このエンドポイントでサポートされていない RPC エンベロープ・バージョン %(version)s が指定されました。"
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
+msgstr "指定された RPC バージョンの上限 %(version_cap)s が低すぎます"
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"%(max_retries)d 回の試行の後、%(hostname)s:%(port)d 上の AMQP サーバーに接続できません: "
+"%(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "ソケットを開くことができませんでした。"
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "このソケットでは受信できません。"
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "このソケットでは送信できません。"
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "トピックに危険な文字が含まれていました。"
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "サポートされていないか、または不明な ZMQ エンベロープが返されました。"
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "RPC メッセージが無効です。"
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "Matchmaker の結果がありません。キャストは行いません。"
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "MatchMaker からの一致がありません。"
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s は非推奨です。代わりに %(new)s を使用してください。"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "MatchMaker による一致が見つかりません。"
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "MatchMaker が登録またはハートビートを実施していません。"
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "ハートビートを開始する前に登録してください。"
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5890,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5913,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ka_GE/LC_MESSAGES/heat.po b/heat/locale/ka_GE/LC_MESSAGES/heat.po
index d6b057544..bb598b314 100644
--- a/heat/locale/ka_GE/LC_MESSAGES/heat.po
+++ b/heat/locale/ka_GE/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Georgian (Georgia) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Georgian (Georgia) "
"(http://www.transifex.com/projects/p/openstack/language/ka_GE/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/km/LC_MESSAGES/heat.po b/heat/locale/km/LC_MESSAGES/heat.po
index e88e5ab13..34f3b6589 100644
--- a/heat/locale/km/LC_MESSAGES/heat.po
+++ b/heat/locale/km/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Khmer translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-11-27 12:03+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Khmer "
"(http://www.transifex.com/projects/p/openstack/language/km/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/kn/LC_MESSAGES/heat.po b/heat/locale/kn/LC_MESSAGES/heat.po
index a6c78bd81..a75e41b80 100644
--- a/heat/locale/kn/LC_MESSAGES/heat.po
+++ b/heat/locale/kn/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Kannada translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Kannada "
"(http://www.transifex.com/projects/p/openstack/language/kn/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ko/LC_MESSAGES/heat.po b/heat/locale/ko/LC_MESSAGES/heat.po
index ee2fe9519..f51fffd6f 100644
--- a/heat/locale/ko/LC_MESSAGES/heat.po
+++ b/heat/locale/ko/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-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: ko <LL@li.org>\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ko_KR/LC_MESSAGES/heat.po b/heat/locale/ko_KR/LC_MESSAGES/heat.po
index 30398485d..2cbe14899 100644
--- a/heat/locale/ko_KR/LC_MESSAGES/heat.po
+++ b/heat/locale/ko_KR/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Korean (South Korea) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Korean (Korea) "
"(http://www.transifex.com/projects/p/openstack/language/ko_KR/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr "알 수 없는 예외가 발생했습니다. "
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr "문자열 형식화 오퍼레이션의 예외"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr "SSL 모드로 서버를 실행하는 경우 구성 파일에서 cert_file 및 key_file 옵션 값 둘 다를 지정해야 합니다. "
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr "SIGTERM 수신"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr "%d 작업자 시작 중"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr "자원 처리 예외: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr "%(code)s을(를) 사용자에게 리턴 중: %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "스택 ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "스택 이름"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "%s 삭제"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1930,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "%s 무시중"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "주어진 유동 IP pool에서 유동 IP를 할당하세요. "
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
msgid ""
"The size of the volume, in GB. It is safe to leave this blank and have "
"the Compute service infer the size."
-msgstr ""
+msgstr "볼륨 크키, GB. 공백으로 두고 Compute 서비스가 크기를 추정하도록 하는 것이 안전하다."
-#: heat/engine/resources/server.py:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr "기존 예외가 삭제됨: %s"
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr "캐시된 파일 %s 다시 로드 중"
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr "획득한 `%s` 잠금을 해제할 수 없음"
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr "더 이상 사용되지 않음: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr "%(log_config)s 설정 기록을 불러오는 중 오류가 발생했습니다: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr "syslog 기능이 다음 중 하나여야 함: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr "더 이상 사용되지 않는 구성에 대한 심각한 호출: %(msg)s"
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr "태스크 실행이 %s초의 간격을 지속함"
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr "고정 기간 루프 호출에서"
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr "%.02f 초 동안 대기할 동적 순환 반복 호출"
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr "동적 루프 호출에서"
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "JSON 파일에 정책이 포함됩니다."
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "요청한 규칙을 찾을 수 없을 때 규칙을 강제"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "정책에서 수행해야 할 %s을(를) 허용하지 않습니다."
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
-msgstr ""
-
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
+msgstr "규칙은 사전의 인스턴스이거나 규칙 그 자체여야 하지만 %s을(를) 가져왔습니다"
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr "%s 유형의 일치에 대한 핸들러가 없음"
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr "utils.execute에 대해 알 수 없는 키워드 인수를 가져옴: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "cmd(하위 프로세스) 실행 중: %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr "결과는 %s입니다."
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr "%r 실패. 재시도 중입니다. "
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "cmd(SSH) 실행 중: %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr "환경이 SSH를 통해 지원되지 않음"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr "process_input이 SSH를 통해 지원되지 않음"
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr "CONF의 전체 세트:"
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr "%s 발견, 종료 중"
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr "상위 프로세스가 예기치 않게 정지했습니다. 종료 중"
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr "처리되지 않은 예외"
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr "포크가 너무 빠름. 정지 중"
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr "%d 하위를 시작했음"
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr "%(pid)d 하위가 %(sig)d 신호에 의해 강제 종료됨"
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr "%(pid)s 하위가 %(code)d 상태와 함께 종료했음"
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr "pid %d이(가) 하위 목록에 없음"
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr "%s 발견, 하위 중지 중"
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr "%d 하위에서 종료하기를 대기 중임"
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr "key_file을 찾을 수 없음: %s"
msgid "Invalid SSL version : %s"
msgstr "잘못된 SSL 버전 : %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,71 +5622,57 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr "올바르지 않은 매개변수: Unicode는 현재 데이터베이스에서 지원되지 않습니다. "
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr "버전은 정수여야 함"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr "DB 예외가 랩핑되었습니다."
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "제공되는 정렬 키가 올바르지 않습니다. "
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "알 수 없는 정렬 방향입니다. 'desc' 또는 'asc'여야 함"
-#: heat/openstack/common/db/sqlalchemy/session.py:743
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
+#, python-format
msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "SQL connection failed. %s attempts left."
-msgstr "SQL 연결에 실패했습니다. %s번의 시도가 남았습니다. "
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "인식되지 않는 read_deleted 값 '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Got lock \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
-#, python-format
-msgid "Lock released \"%s\""
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr "제공되는 정렬 키가 올바르지 않습니다. "
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr "ID가 sort_keys에 없습니다. sort_keys가 고유합니까?"
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr "알 수 없는 정렬 방향입니다. 'desc' 또는 'asc'여야 함"
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
@@ -5804,7 +5681,7 @@ msgstr ""
"col_name_col_instance 매개변수에 %s 열을 지정하십시오. sqlite에서 지원하지 않는 유형이 열에 있으므로 이는"
" 필수입니다."
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
@@ -5813,12 +5690,7 @@ msgstr ""
"%s 열에 올바르지 않은 열 인스턴스 유형이 col_name_col_instance 매개변수에 있습니다. "
"sqlalchemy.Column의 인스턴스여야 합니다."
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5827,37 +5699,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr "%s이(가) 유효한 우선순위에 없음"
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr "알림 시스템에 보내려고 시도하는 중 '%(e)s' 문제점이 발생했습니다. 페이로드=%(payload)s"
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr "%s 알리미를 로드하지 못했습니다. 이들 알림은 발송되지 않습니다. "
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: heat/openstack/common/notifier/list_notifier.py:113
#, python-format
msgid "Problem '%(e)s' attempting to send to notification driver %(driver)s."
msgstr "문제점 '%(e)s' 가 알림 드라이버 %(driver)s에 전송을 시도합니다."
-#: heat/openstack/common/notifier/rabbit_notifier.py:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr "rabbit_notifier는 이제 사용되지 않습니다. 대신 rpc_notifier를 사용하십시오. "
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr "%(topic)s(으)로 알림을 발송할 수 없습니다. 페이로드=%(message)s"
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr "풀이 새 연결을 작성 중임"
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5873,22 +5723,7 @@ msgstr "_call_waiters: %s"
msgid ""
"Number of call waiters is greater than warning threshold: %d. There could"
" be a MulticallProxyWaiter leak."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr "압축이 풀리지 않은 컨텍스트: %s"
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr "UNIQUE_ID는 %s입니다."
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr "%s 수신"
+msgstr "호출 대기 수가 스레드에서 경고한 %d보다 더 많습니다. MulticallProxyWaiter에서 누수가 있을 수 있습니다."
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
@@ -5900,41 +5735,6 @@ msgstr "메시지에 대한 메소드가 없음: %s"
msgid "No method for message: %s"
msgstr "메시지에 대한 메소드가 없음: %s"
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr "메시지 처리 중에 예상된 예외(%s)"
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr "메시지 처리 중 예외"
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr "%s에서 동기 호출 작성 중..."
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr "MSG_ID는 %s입니다. "
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr "%s에서 비동기 캐스트 작성 중..."
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr "비동기 팬아웃 캐스트 작성 중..."
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr "%(topic)s에서 %(event_type)s 보내는 중"
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr "알 수 없는 RPC 관련 예외가 발생했습니다. "
@@ -5987,32 +5787,9 @@ msgstr "지정된 RPC 엔벨로프 버전 %(version)s이(가) 이 엔드포인
#: heat/openstack/common/rpc/common.py:164
#, python-format
msgid "Specified RPC version cap, %(version_cap)s, is too low"
-msgstr ""
+msgstr "지정된 RPC 버전 캡 %(version_cap)s 이 너무 낮습니다."
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr "%s 예외를 호출자에게 리턴 중"
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr "%(hostname)s:%(port)d에서 AMQP 서버에 다시 연결 중"
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr "%(hostname)s:%(port)d에서 AMQP 서버에 연결되었음"
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: heat/openstack/common/rpc/impl_kombu.py:557
#, python-format
msgid ""
"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
@@ -6021,103 +5798,15 @@ msgstr ""
"%(max_retries)d번 시도 후에 %(hostname)s:%(port)d에서 AMQP 서버를 연결할 수 없음: "
"%(err_str)s"
-#: heat/openstack/common/rpc/impl_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-"%(hostname)s:%(port)d의 AMQP 서버에 접근할 수 없음: %(err_str)s. %(sleep_time)d초 내에"
-" 다시 시도하십시오. "
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr "'%(topic)s' 주제에 대한 이용자를 선언하지 못했음: %(err_str)s"
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr "RPC 응답 대기 중에 제한시간 초과: %s"
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr "큐의 메시지를 이용하지 못했음: %s"
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr "'%(topic)s' 주제에 메시지를 공개하지 못했음: %(err_str)s"
-
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr "메시지를 처리하지 못했습니다. 건너뛰는 중입니다. "
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr "AMQP 서버 %(e)s에 연결할 수 없습니다. %(delay)s 초 휴면 상태입니다. "
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr "%s의 AMQP 서버에 연결했음"
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr "AMQP 큐 재설정"
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr "메시지 처리 오류입니다. 건너뛰는 중입니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr "JSON 직렬화에 실패했습니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr "직렬화 취소 중: %s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr "%(type)s을(를) 갖는 %(addr)s에 연결 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr "-> %(subscribe)s에 등록"
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr "-> 바인드: %(bind)s"
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr "소켓을 열 수 없습니다. "
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr "%s에 등록"
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr "이 소켓에서 수신할 수 없습니다. "
@@ -6126,106 +5815,10 @@ msgstr "이 소켓에서 수신할 수 없습니다. "
msgid "You cannot send on this socket."
msgstr "이 소켓에서 전송할 수 없습니다. "
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr "다음 컨텍스트를 갖고 기능 실행 중: %s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr "응답 보내는 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr "RPC 메시지에 메소드가 없습니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr "리액터 등록 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr "인 리액터 등록"
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr "소켓 이용 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr "주제에 대한 프록시 작성: %s"
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr "올바르지 않은 문자가 있는 주제. "
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr "주제 소켓 파일 작성에 실패했습니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr "%(topic)s 주제에 대한 로컬 주제별 백로그 버퍼가 가득 찼습니다. 메시지 삭제 중입니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr "ZeroMQ 수신기 디먼을 작성할 수 없습니다. 소켓이 이미 사용 중일 수 있습니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr "CONSUMER RECEIVED DATA: %s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr "ZMQ Envelope 버전을 지원하지 않거나 알 수 없습니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr "주제 등록을 건너뜁니다. 이미 등록되었습니다. "
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr "이용자: zmq.%s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr "페이로드 작성 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr "응답 대기자를 위한 큐 소켓 작성 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr "캐스트 보내는 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr "캐스트 전송. 응답 대기 중"
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr "수신된 메시지: %s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr "응답 압축 해제 중"
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr "지원되지 않거나 알 수 없는 ZMQ 엔벨로프가 리턴되었습니다. "
@@ -6234,16 +5827,6 @@ msgstr "지원되지 않거나 알 수 없는 ZMQ 엔벨로프가 리턴되었
msgid "RPC Message Invalid."
msgstr "RPC 메시지가 올바르지 않습니다. "
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr "%(msg)s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr "메시지를 전송 중인 대상: %s"
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr "중개인 결과가 없습니다. 캐스트하지 않습니다. "
@@ -6255,7 +5838,7 @@ msgstr "중개자와 일치하지 않습니다. "
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s 를 사용하지 않습니다; %(new)s 를 사용하도록 하십시오."
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
@@ -6265,26 +5848,10 @@ msgstr "중개자가 일치를 찾지 못했습니다. "
msgid "Matchmaker does not implement registration or heartbeat."
msgstr "중개자가 등록이나 하트비트를 구현하지 않습니다."
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr "하트비트를 시작하기 전에 등록하십시오. "
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr "'%s' 주제에 대한 키 정의 호스트가 없습니다. 링 파일 참조"
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr "%s 서비스에 대한 이용자 연결 작성"
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6315,12 +5882,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6328,11 +5905,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ml_IN/LC_MESSAGES/heat.po b/heat/locale/ml_IN/LC_MESSAGES/heat.po
index 1201b590b..d7d7488f5 100644
--- a/heat/locale/ml_IN/LC_MESSAGES/heat.po
+++ b/heat/locale/ml_IN/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Malayalam (India) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-11-27 12:03+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Malayalam (India) "
"(http://www.transifex.com/projects/p/openstack/language/ml_IN/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/mr_IN/LC_MESSAGES/heat.po b/heat/locale/mr_IN/LC_MESSAGES/heat.po
index 5b94ad8e5..44567cdd3 100644
--- a/heat/locale/mr_IN/LC_MESSAGES/heat.po
+++ b/heat/locale/mr_IN/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Marathi (India) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-16 22:17+0000\n"
-"Last-Translator: Tom Fifield <tom@openstack.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Marathi (India) "
"(http://www.transifex.com/projects/p/openstack/language/mr_IN/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ms/LC_MESSAGES/heat.po b/heat/locale/ms/LC_MESSAGES/heat.po
index ff89e021d..d35980697 100644
--- a/heat/locale/ms/LC_MESSAGES/heat.po
+++ b/heat/locale/ms/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Malay translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Malay "
"(http://www.transifex.com/projects/p/openstack/language/ms/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/nb/LC_MESSAGES/heat.po b/heat/locale/nb/LC_MESSAGES/heat.po
index b19c0e1a8..7353bd7fe 100644
--- a/heat/locale/nb/LC_MESSAGES/heat.po
+++ b/heat/locale/nb/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Norwegian Bokmål translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Norwegian Bokmål "
"(http://www.transifex.com/projects/p/openstack/language/nb/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr "En ukjent feil oppsto."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr "Resultat var %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr "%r feilet. Prøver på nytt."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ne/LC_MESSAGES/heat.po b/heat/locale/ne/LC_MESSAGES/heat.po
index 9f4e4108e..4590afca3 100644
--- a/heat/locale/ne/LC_MESSAGES/heat.po
+++ b/heat/locale/ne/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Nepali translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Nepali "
"(http://www.transifex.com/projects/p/openstack/language/ne/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/nl_NL/LC_MESSAGES/heat.po b/heat/locale/nl_NL/LC_MESSAGES/heat.po
index 7ebaf1197..5653ef15c 100644
--- a/heat/locale/nl_NL/LC_MESSAGES/heat.po
+++ b/heat/locale/nl_NL/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Dutch (Netherlands) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Dutch (Netherlands) "
"(http://www.transifex.com/projects/p/openstack/language/nl_NL/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "Stapel ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Stapelnaam"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Wijst u een vlottend IP toe van een gegeven vlottende IP poule."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/pa_IN/LC_MESSAGES/heat.po b/heat/locale/pa_IN/LC_MESSAGES/heat.po
index f307bd952..76064e673 100644
--- a/heat/locale/pa_IN/LC_MESSAGES/heat.po
+++ b/heat/locale/pa_IN/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Punjabi (Gurmukhi, India) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-12-16 02:54+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Panjabi (Punjabi) (India) "
"(http://www.transifex.com/projects/p/openstack/language/pa_IN/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/pl_PL/LC_MESSAGES/heat.po b/heat/locale/pl_PL/LC_MESSAGES/heat.po
index ee65854e9..eefa5b852 100644
--- a/heat/locale/pl_PL/LC_MESSAGES/heat.po
+++ b/heat/locale/pl_PL/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Polish (Poland) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Polish (Poland) "
"(http://www.transifex.com/projects/p/openstack/language/pl_PL/)\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "Wystąpił nieznany wyjątek."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "ID stosu"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Nazwa stosu"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1907,7 +1931,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "ignorowanie %s"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,443 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
+"Pozwala przydzielić pływający adres IP z podanej puli pływających adresów"
+" IP."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3127,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3217,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3266,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3276,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3285,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3367,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3375,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3559,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3684,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3824,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3986,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4139,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4556,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4692,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4746,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4781,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4793,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5411,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5475,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Could not release the acquired lock `%s`"
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr "Wynik był %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5582,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5625,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5698,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5724,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5734,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5784,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr "Nie można otworzyć gniazda."
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr "Subskrybowanie do %s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5808,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr "Nie można wysłać do tego gniazda."
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5820,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr "%(msg)s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr "Wysyłanie wiadomości do: %s"
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5841,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5875,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5898,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/pt/LC_MESSAGES/heat.po b/heat/locale/pt/LC_MESSAGES/heat.po
index 1060d86a5..04ab5f34d 100644
--- a/heat/locale/pt/LC_MESSAGES/heat.po
+++ b/heat/locale/pt/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Portuguese translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Portuguese "
"(http://www.transifex.com/projects/p/openstack/language/pt/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,59 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"Não é possível carregar %(app_name)s do ficheiro de configuração "
+"%(conf_file)s.\n"
+"Got: %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +448,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr "Ocorreu uma exceção desconhecida."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Credencial necessária em falta: %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Autorização falhada!"
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "Não está autenticado."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "Não está autorizado a completar esta ação."
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "A redirecionar para %(uri)s, para autorização."
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +819,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +840,218 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"Quando executar o servidor no modo SSL, deverá especificar o valor da "
+"opção de ambos os ficheiros cert_file e key_file no seu ficheiro de "
+"configuração"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1061,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1386,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1630,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1821,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1936,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "a ignorar %s"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +1998,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2602,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2639,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3130,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3220,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3269,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3279,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3288,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3370,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3378,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3562,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3687,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3827,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3989,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4142,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4559,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4695,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4749,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4784,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4796,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5414,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,283 +5478,126 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Could not release the acquired lock `%s`"
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "Pedido: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "A função registo do sistema deve ser uma de %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
+msgstr "Chamada fatal para a config. pedida: %(msg)s"
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "Ficheiro JSON, contendo a política"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "Regra a utilizar quando a regra solicitada não existir"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "A política não permite que %s seja realizada."
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "Não é possível encontrar cert_file : %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "Não é possível encontrar ca_file : %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "Não é possível encontrar key_file : %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "Versão SSL inválida: %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,129 +5628,88 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Parâmetro Inválido: o Unicode não é suportado pela base de dados atual."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "a versão deverá ser um íntegro"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
-msgstr ""
+msgstr "Id. do tipo de colunas não suportada"
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s não nas prioridades válidas"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5862,7 +5718,7 @@ msgstr ""
#: heat/openstack/common/rpc/amqp.py:205
#, python-format
msgid "_call_waiters: %s"
-msgstr ""
+msgstr "_call_waiters: %s"
#: heat/openstack/common/rpc/amqp.py:212
#, python-format
@@ -5871,69 +5727,19 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "nenhum método para a mensagem: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "nenhum método para a mensagem: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "Ocorreu uma exceção relacionada RPC desconhecida."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5747,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Erro Remoto: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,17 +5756,19 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"Tempo expirado enquanto aguardava a resposta RPC - tópico: \"%(topic)s\","
+" método RPC: \"%(method)s\" informação: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<desconhecido>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Encontrada mensagem duplicada (%(msg_id)s). A ignorá-la."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
@@ -5981,256 +5791,43 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Não é possível ligar ao servidor AMQP em %(hostname)s:%(port)d after "
+"%(max_retries)d tentativas: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
+msgstr "Valor inválido para qpid_topology_version: %d"
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "Não foi possível abrir o socket."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "Não pode receber neste socket."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "Não pode enviar neste socket."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "O tópico contém carateres perigosos."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Envelope ZMQ devolvido não suportado ou desconhecido."
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "Mensagem RPC Inválida."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
@@ -6253,26 +5850,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5884,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5907,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/pt_BR/LC_MESSAGES/heat.po b/heat/locale/pt_BR/LC_MESSAGES/heat.po
index 0252f3a36..dd219be6b 100644
--- a/heat/locale/pt_BR/LC_MESSAGES/heat.po
+++ b/heat/locale/pt_BR/LC_MESSAGES/heat.po
@@ -1,296 +1,297 @@
# Portuguese (Brazil) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
+# Marcelo Dieder <marcelodieder@gmail.com>, 2013
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: pt_BR <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Portuguese (Brazil) "
+"(http://www.transifex.com/projects/p/openstack/language/pt_BR/)\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
-msgstr ""
+msgstr "Falha para buscar a imagem: %s"
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
-msgstr ""
+msgstr "Ação %(action)s não esperada"
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
-msgstr ""
+msgstr "URL do Template inválida"
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
-msgstr ""
+msgstr "stack não encontrado"
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: 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 ""
+msgstr "Nenhuma ação especificada"
#: heat/api/openstack/v1/actions.py:47
msgid "Multiple actions specified"
-msgstr ""
+msgstr "Múltiplas ações especificadas"
#: heat/api/openstack/v1/actions.py:51
#, python-format
msgid "Invalid action %s specified"
-msgstr ""
+msgstr "Ação %s especificada é inválida"
#: heat/api/openstack/v1/actions.py:58
#, python-format
msgid "Unexpected action %s"
-msgstr ""
+msgstr "Ação %s não esperada"
#: heat/api/openstack/v1/events.py:104
#, python-format
msgid "No events found for resource %s"
-msgstr ""
+msgstr "Nenhum evento localizado para o recurso %s"
#: heat/api/openstack/v1/events.py:122
#, python-format
msgid "No event %s found"
-msgstr ""
+msgstr "Nenhum evento %s encontrado"
#: heat/api/openstack/v1/stacks.py:74
#, python-format
@@ -299,20 +300,25 @@ msgstr ""
#: heat/api/openstack/v1/stacks.py:82
msgid "No stack name specified"
-msgstr ""
+msgstr "Nenhum nome stack especificado"
#: heat/api/openstack/v1/stacks.py:100
#, python-format
msgid "Could not retrieve template: %s"
-msgstr ""
+msgstr "Não foi possível recuperar o template: %s"
#: heat/api/openstack/v1/stacks.py:103
msgid "No template specified"
+msgstr "Nenhum template especificado. "
+
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
-msgstr ""
+msgstr "Endereço Stack inválido"
#: heat/cmd/manage.py:65
msgid "How long to preserve deleted data."
@@ -322,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +387,59 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"Não é possível carregar %(app_name)s do arquivo de configuração "
+"%(conf_file)s.\n"
+"Obtido: %(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,382 +449,398 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "Ocorreu uma exceção desconhecida."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "Exceção na operação de formato de sequência"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "Credencial necessária ausente: %(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
+"Estratégia de autorização incorreta; esperava-se \"%(expected)s\", mas "
+"foi recebido \"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
+"Erro de conexão/solicitação inválida para serviço de autenticação na URL "
+"%(url)s."
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "Serviço de autenticação na URL %(url)s não localizado."
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "Falha de autorização."
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "Você não está autenticado."
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "Você não está autorizado a concluir esta ação."
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "Redirecionando para %(uri)s para obter autorização."
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
-msgstr ""
+msgstr "A URI definida está muita longa."
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "O máximo de redirecionamentos (%(redirects)s) foi excedido."
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "Redirecionamento de HTTP inválido recebido."
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
+"Diversas correspondências do serviço de 'imagem' para a região "
+"%(region)s. Isso geralmente significa que uma região é necessária e você "
+"não a forneceu."
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
-msgstr ""
+msgstr "O parâmetro (%(key)s) não foi fornecido."
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
-msgstr ""
+msgstr "O Stack (%(stack_name)s) já existe."
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
-msgstr ""
+msgstr "O recurso (%(resource_name)s) não está disponível."
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
-msgstr ""
+msgstr "%(feature)s não é suportado."
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "Tipo de conteúdo inválido %(content_type)s"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
-msgstr ""
+msgstr "O limite da requisição foi excedido: %(message)s"
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
-msgstr ""
+msgstr "Falha ao importar módulo %s"
#: heat/common/short_id.py:44
#, python-format
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +848,217 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
-msgstr ""
+msgstr "A porta em que o servidor irá escutar."
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
+"Ao executar o servidor no modo SSL, você deve especificar um valor de "
+"opção cert_file e key_file no seu arquivo de configuração"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "SIGTERM recebido"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
-msgstr ""
+msgstr "SIGHUP recebido"
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Iniciando %d trabalhadores"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "Removendo filho inativo %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "Interrupção da captura de teclado. Saindo."
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "Fechado"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "Filho %d saindo normalmente"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "Filho iniciado %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "Iniciando servidor de processo único"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "Exceção ao manipular recurso: %s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "Retornando %(code)s para o usuário: %(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1068,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
-msgstr ""
+msgstr "Valores permitidos: %s"
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "Stack ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Nome do Stack"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1393,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "Excluir %s"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1618,150 +1635,150 @@ msgstr ""
#: heat/engine/scheduler.py:63
#, python-format
msgid "%s Timed out"
-msgstr ""
+msgstr "%s Tempo Excedido"
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
-msgstr ""
+msgstr "Nenhum template especificado. "
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1828,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "Resources must contain Resource. Found a [%s] instead"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/update.py:79
#, python-format
msgid "Deleting backup resource %s"
msgstr ""
-#: heat/engine/update.py:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1943,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "ignorando %s"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +2005,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
-msgstr ""
+msgstr "Tags para anexar para este grupo."
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
-msgstr ""
+msgstr "Número mínimo de instâncias neste grupo."
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
-msgstr ""
+msgstr "Tamanho de ajuste."
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
-msgstr ""
+msgstr "Descrição para o alarme."
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
-msgstr ""
+msgstr "Unidade para a métrica."
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2562,7 +2595,7 @@ msgstr ""
#: heat/engine/resources/instance.py:211
msgid "Network interfaces to associate with instance."
-msgstr ""
+msgstr "Interface de rede para associar com a instância."
#: heat/engine/resources/instance.py:220
msgid "Subnet ID to launch instance in."
@@ -2570,21 +2603,21 @@ msgstr ""
#: heat/engine/resources/instance.py:224
msgid "Tags to attach to instance."
-msgstr ""
+msgstr "Tags para anexar à instância."
#: heat/engine/resources/instance.py:271
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2646,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Alocar um IP flutuante de um dado pool de IPs flutuantes."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3137,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3227,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3276,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3286,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3295,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3377,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3385,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3569,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3694,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3834,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3996,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4149,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
-msgstr ""
+msgstr "Protocolo para o balanceamento."
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
-msgstr ""
+msgstr "Nome do pool."
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
-msgstr ""
+msgstr "Descrição do pool."
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
-msgstr ""
+msgstr "Nome do vip."
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
-msgstr ""
+msgstr "Protocolo para balancear."
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
-msgstr ""
+msgstr "VIP associado com o pool."
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
-msgstr ""
+msgstr "O ID do poll de balanceamento."
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
-msgstr ""
+msgstr "O nome da rede."
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
-msgstr ""
+msgstr "Subnets desta rede."
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4566,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4702,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4756,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4791,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4803,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5421,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,284 +5485,127 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got semaphore \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "Descontinuado: %s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "Erro carregando configuração de logging %(log_config)s: %(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "o recurso syslog deve ser um dos seguintes: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
+msgstr "Chamada fatal para configuração descontinuada: %(msg)s"
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "Arquivo JSON contendo políticas"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "Regra aplicada quando a regra requisitada não é encontrada"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "Política não permite a realização de %s."
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
-msgstr ""
-
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
+msgstr "Regras devem ser uma instância de dict ou Rules, recebeu %s em seu lugar"
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "Obteve args de palavra-chave desconhecidos para utils.execute: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Executando comando (subprocesso): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Resultado foi %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r falhou. Tentando novamente."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "Executando o comando (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Ambiente não suportado sobre SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "process_input não suportado sobre SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "Não é possível localizar cert_file : %s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "Não é possível localizar ca_file : %s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "Não é possível localizar key_file : %s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "versão SSL inválida: %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
-msgstr ""
+msgstr "Valor desconhecido '%(val)s', valores aceitáveis são: %(acceptable)s"
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
+msgid "Invalid string format: %s"
+msgstr "formato de string inválido: %s"
#: heat/openstack/common/versionutils.py:69
#, python-format
@@ -5709,6 +5613,8 @@ 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 ""
+"%(what)s está deprecado desde %(as_of)s em favor de %(in_favor_of)s e "
+"pode ser removido em %(remove_in)s."
#: heat/openstack/common/versionutils.py:73
#, python-format
@@ -5716,153 +5622,122 @@ msgid ""
"%(what)s is deprecated as of %(as_of)s and may be removed in "
"%(remove_in)s. It will not be superseded."
msgstr ""
+"%(what)s está deprecado desde %(as_of)s e pode ser removido em "
+"%(remove_in)s. Ele não será substituído."
#: heat/openstack/common/crypto/utils.py:27
msgid "An unknown error occurred in crypto utils."
-msgstr ""
+msgstr "Um erro desconhecido ocorreu em crypto utils."
#: heat/openstack/common/crypto/utils.py:34
#, python-format
msgid "Block size of %(given)d is too big, max = %(maximum)d"
-msgstr ""
+msgstr "Tamanho do bloco de %(given)d é muito grande, máximo = %(maximum)d"
#: heat/openstack/common/crypto/utils.py:43
#, python-format
msgid "Length of %(given)d is too long, max = %(maximum)d"
-msgstr ""
+msgstr "Comprimento de %(given)d é muito longo, máximo = %(maximum)d"
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Parâmetro Inválido: Unicode não é suportado pelo banco de dados atual."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "a versão deve ser um número inteiro"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "A chave de classificação fornecida não era válida."
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "Direção de classificação desconhecida; deve ser 'desc' ou 'asc'"
-#: heat/openstack/common/db/sqlalchemy/session.py:743
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
+#, python-format
msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "SQL connection failed. %s attempts left."
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Valor read_deleted não reconhecido '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Got lock \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
-#, python-format
-msgid "Lock released \"%s\""
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
+"Especifique a coluna %s no parâmetro 'col_name_col_instance. Isso é "
+"necessário porque a coluna possui um tipo não suportado por sqlite)."
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
+"O parâmetro col_name_col_instance possui um tipo errado de instância da "
+"coluna para a coluna %s. Deveria ser uma instância de sqlalchemy.Column."
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
-msgstr ""
+msgstr "Tipo de colunas ID não suportado"
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s não em prioridades válidas"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: heat/openstack/common/notifier/list_notifier.py:113
#, python-format
msgid "Problem '%(e)s' attempting to send to notification driver %(driver)s."
-msgstr ""
+msgstr "Problema '%(e)s' tentando enviar para o driver de notificação %(driver)s."
-#: heat/openstack/common/notifier/rabbit_notifier.py:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+"O rabbit_notifier está descontinuado agora. Em vez disso, use "
+"rpc_notifier."
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
msgstr ""
+"Nenhuma thread chamada esperando por msg_id : %(msg_id)s, mensagem : "
+"%(data)s"
#: heat/openstack/common/rpc/amqp.py:205
#, python-format
msgid "_call_waiters: %s"
-msgstr ""
+msgstr "_call_waiters: %s"
#: heat/openstack/common/rpc/amqp.py:212
#, python-format
@@ -5871,69 +5746,19 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "sem método para mensagem: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "Sem método para mensagem: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "Um RPC desconhecido relatou exceção ocorrida."
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5766,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Erro remoto: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5948,26 +5775,28 @@ msgid ""
"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
" \"%(method)s\" info: \"%(info)s\""
msgstr ""
+"Tempo esgotado aguardando resposta RPC - tópico: \"%(topic)s\", método "
+"RPC: \"%(method)s\" info: \"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<desconhecido>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "Encontrada mensagem duplicada (%(msg_id)s). Ignorando-a."
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Reutilização inválida de uma conexão RPC."
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
-msgstr ""
+msgstr "Versão de RPC especificada, %(version)s, não suportada por este terminal."
#: heat/openstack/common/rpc/common.py:159
#, python-format
@@ -5975,303 +5804,76 @@ msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
msgstr ""
+"Versão de envelope de RPC especificada, %(version)s, não suportada por "
+"esse terminal."
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
+msgstr "Versão de CAP de RPC, %(version_cap)s, é muito baixa"
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Não é possível conectar-se ao servidor AMQP no %(hostname)s:%(port)d após"
+" %(max_retries)d tentativas: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
+msgstr "Valor inválido para qpid_topology_version: %d"
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "Não foi possível abrir o soquete."
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "Não é possível receber neste soquete."
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "Não é possível enviar neste soquete."
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "O tópico continha caracteres perigosos."
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "Foi retornado um envelope ZMQ não suportado ou desconhecido."
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "Mensagem de RPC Inválida."
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "Nenhum resultado do matchmaker. Sem conversão."
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "Nenhuma correspondência do matchmaker."
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s é deprecado; utilize %(new)s em vez disto"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "Correspondência não localizada pelo MatchMaker."
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "O Matchmaker não implementa registro ou pulsação."
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "Registre antes de iniciar a pulsação."
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5905,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5928,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ro/LC_MESSAGES/heat.po b/heat/locale/ro/LC_MESSAGES/heat.po
index 9fbbe972b..4e8fdecc8 100644
--- a/heat/locale/ro/LC_MESSAGES/heat.po
+++ b/heat/locale/ro/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Romanian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Romanian "
"(http://www.transifex.com/projects/p/openstack/language/ro/)\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ru/LC_MESSAGES/heat.po b/heat/locale/ru/LC_MESSAGES/heat.po
index 232fd1d82..8b04d1aa5 100644
--- a/heat/locale/ru/LC_MESSAGES/heat.po
+++ b/heat/locale/ru/LC_MESSAGES/heat.po
@@ -1,17 +1,17 @@
# Russian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: ru <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Russian "
+"(http://www.transifex.com/projects/p/openstack/language/ru/)\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"MIME-Version: 1.0\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "Обнаружено неизвестное исключение."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "Имя стека"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Выделить назначаемый IP из указанного пула назначаемых IP."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,249 +5473,92 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "Приняты неизвестные аргументы ключевого слова для utils.execute: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "Выполнение команды (субпроцесс): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "Результат %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r ошибка. Выполняется повтор."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "Выполнение команды (SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "Среда не поддерживается с использованием SSH"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "process_input не поддерживается с использованием SSH"
#: heat/openstack/common/sslutils.py:50
#, python-format
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,129 +5623,88 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "Недопустимый параметр: Unicode не поддерживается используемой базой данных"
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Нераспознанное значение read_deleted '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
+msgstr "%s не в допустимых приоритетах"
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,65 +5722,15 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "не определен метод для сообщения: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "Не определен метод для сообщения: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
@@ -5942,6 +5742,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"Удалённая ошибка: %(exc_type)s %(value)s\n"
+"%(traceback)s."
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5963,7 +5765,7 @@ msgstr ""
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "Неверное переиспользование соединения RPC"
#: heat/openstack/common/rpc/common.py:154
#, python-format
@@ -5982,131 +5784,24 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"Невозможно подключиться к серверу AMQP на %(hostname)s:%(port)d после "
+"%(max_retries)d попыток: %(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5810,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5822,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5843,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5877,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5900,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ru_RU/LC_MESSAGES/heat.po b/heat/locale/ru_RU/LC_MESSAGES/heat.po
index 8ed8d4624..da8518f6e 100644
--- a/heat/locale/ru_RU/LC_MESSAGES/heat.po
+++ b/heat/locale/ru_RU/LC_MESSAGES/heat.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: 2013-10-10 01:09+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Russian (Russia) "
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/sk/LC_MESSAGES/heat.po b/heat/locale/sk/LC_MESSAGES/heat.po
index 78d58dc71..95f8ab36e 100644
--- a/heat/locale/sk/LC_MESSAGES/heat.po
+++ b/heat/locale/sk/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Slovak translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Slovak "
"(http://www.transifex.com/projects/p/openstack/language/sk/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/sl_SI/LC_MESSAGES/heat.po b/heat/locale/sl_SI/LC_MESSAGES/heat.po
index a92f74c0d..be83ea122 100644
--- a/heat/locale/sl_SI/LC_MESSAGES/heat.po
+++ b/heat/locale/sl_SI/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Slovenian (Slovenia) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Slovenian (Slovenia) "
"(http://www.transifex.com/projects/p/openstack/language/sl_SI/)\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/sq/LC_MESSAGES/heat.po b/heat/locale/sq/LC_MESSAGES/heat.po
index bff654b09..efc0379c6 100644
--- a/heat/locale/sq/LC_MESSAGES/heat.po
+++ b/heat/locale/sq/LC_MESSAGES/heat.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2014-03-27 23:49+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Albanian "
"(http://www.transifex.com/projects/p/openstack/language/sq/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/sr/LC_MESSAGES/heat.po b/heat/locale/sr/LC_MESSAGES/heat.po
index f2c13a5a0..4a6f50751 100644
--- a/heat/locale/sr/LC_MESSAGES/heat.po
+++ b/heat/locale/sr/LC_MESSAGES/heat.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2014-03-27 23:49+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Serbian "
"(http://www.transifex.com/projects/p/openstack/language/sr/)\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "Pokretanje %d izvršioca"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "ID stack-a"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr "Ime stack-a"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "Dodelite slobodnu IP iz date grupe slobodnih IP."
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr "syslog okruženje mora biti jedno od: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/sv/LC_MESSAGES/heat.po b/heat/locale/sv/LC_MESSAGES/heat.po
index 7809ba63d..bfe5948c1 100644
--- a/heat/locale/sv/LC_MESSAGES/heat.po
+++ b/heat/locale/sv/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Swedish translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-11-27 12:03+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Swedish "
"(http://www.transifex.com/projects/p/openstack/language/sv/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/sw_KE/LC_MESSAGES/heat.po b/heat/locale/sw_KE/LC_MESSAGES/heat.po
index 46f5be778..2ba3073fe 100644
--- a/heat/locale/sw_KE/LC_MESSAGES/heat.po
+++ b/heat/locale/sw_KE/LC_MESSAGES/heat.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: 2013-10-10 01:09+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Swahili (Kenya) "
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ta/LC_MESSAGES/heat.po b/heat/locale/ta/LC_MESSAGES/heat.po
index 4a4a2147d..c4d35cb5f 100644
--- a/heat/locale/ta/LC_MESSAGES/heat.po
+++ b/heat/locale/ta/LC_MESSAGES/heat.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2014-03-27 23:49+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Tamil "
"(http://www.transifex.com/projects/p/openstack/language/ta/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/te_IN/LC_MESSAGES/heat.po b/heat/locale/te_IN/LC_MESSAGES/heat.po
index f58eabd85..426605819 100644
--- a/heat/locale/te_IN/LC_MESSAGES/heat.po
+++ b/heat/locale/te_IN/LC_MESSAGES/heat.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2014-03-27 23:49+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Telugu (India) "
"(http://www.transifex.com/projects/p/openstack/language/te_IN/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/tl/LC_MESSAGES/heat.po b/heat/locale/tl/LC_MESSAGES/heat.po
index 93049e6b9..c17d22666 100644
--- a/heat/locale/tl/LC_MESSAGES/heat.po
+++ b/heat/locale/tl/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# Filipino (Philippines) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: fil_PH <LL@li.org>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Tagalog "
+"(http://www.transifex.com/projects/p/openstack/language/tl/)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Created lock path: %s"
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,65 +5721,15 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "walang paraan para sa mensahe: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "Walang paraan para sa mensahe: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/tl_PH/LC_MESSAGES/heat.po b/heat/locale/tl_PH/LC_MESSAGES/heat.po
index 57860f387..76c8efb27 100644
--- a/heat/locale/tl_PH/LC_MESSAGES/heat.po
+++ b/heat/locale/tl_PH/LC_MESSAGES/heat.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: 2013-10-10 01:09+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Tagalog (Philippines) "
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/tr/LC_MESSAGES/heat.po b/heat/locale/tr/LC_MESSAGES/heat.po
index 9b9ba8bd4..afab258ca 100644
--- a/heat/locale/tr/LC_MESSAGES/heat.po
+++ b/heat/locale/tr/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-03-28 06:08+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: tr <LL@li.org>\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/tr_TR/LC_MESSAGES/heat.po b/heat/locale/tr_TR/LC_MESSAGES/heat.po
index fb514dd57..8fa566576 100644
--- a/heat/locale/tr_TR/LC_MESSAGES/heat.po
+++ b/heat/locale/tr_TR/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Turkish (Turkey) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Turkish (Turkey) "
"(http://www.transifex.com/projects/p/openstack/language/tr_TR/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr "Bilinmeyen bir istisna oluştu."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr "syslog servisi bunlardan biri olmak zorundadır: %s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr "utils.execute için bilinmeyen anahtar kelime argümanları: %r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Çalışan komut(alt süreç): %s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr "Sonuç %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr "%r hatalı. Yeniden deneniyor."
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Çalışan komut(SSH): %s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr "SSH üzerinde ortam desteklenmemektedir."
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr "SSH üzerinde process_input desteklenmemektedir."
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr "%s yakalandı, çıkılıyor"
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr "Yakalanmamış istisna"
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr "key_file bulunamadı: %s"
msgid "Invalid SSL version : %s"
msgstr "Geçersiz SSL sürümü: %s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr "Sürüm tam sayı olmak zorunda"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr "Veritabanı istisnası yakalandı."
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "Tanınmayan silinmiş okuma değeri '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr "alınan %s"
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr "%s mesajı için yöntem bulunamadı"
msgid "No method for message: %s"
msgstr "%s mesajı için yöntem bulunamadı."
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr "Mesaj işleme başarısız ... atlanıyor."
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr "Mesaj işleme başarısız ... yeniden kuyruğa alınacak."
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr "AMQP kuyrukları tekrar kuruluyor"
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr "Cevap gönderiliyor"
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr "RPC Mesajı Geçersiz."
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr "%(msg)s"
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr "%s servisi için tüketici bağlantısı oluşturuluyor."
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/uk/LC_MESSAGES/heat.po b/heat/locale/uk/LC_MESSAGES/heat.po
index b9d8752ba..7aa093a4e 100644
--- a/heat/locale/uk/LC_MESSAGES/heat.po
+++ b/heat/locale/uk/LC_MESSAGES/heat.po
@@ -1,17 +1,17 @@
# Ukrainian translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: uk <LL@li.org>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Ukrainian "
+"(http://www.transifex.com/projects/p/openstack/language/uk/)\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"MIME-Version: 1.0\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "Resources must contain Resource. Found a [%s] instead"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/update.py:79
#, python-format
msgid "Deleting backup resource %s"
msgstr ""
-#: heat/engine/update.py:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Created lock path: %s"
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "версія повинна бути цілим числом"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,65 +5722,15 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "без порядку для повідомлень: %s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "Без порядку для повідомлень: %s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/ur/LC_MESSAGES/heat.po b/heat/locale/ur/LC_MESSAGES/heat.po
index 73855d33d..e61dd8e4f 100644
--- a/heat/locale/ur/LC_MESSAGES/heat.po
+++ b/heat/locale/ur/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Urdu translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 09:16+0000\n"
-"Last-Translator: Bagban Afzal <bagbanafzal@gmail.com>\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Urdu "
"(http://www.transifex.com/projects/p/openstack/language/ur/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
@@ -19,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr "غیر درست ,غلط سانچہ Template یو آر ایل"
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr "نہیں ملا نہیں اسٹیک"
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -311,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr "بیان کردہ کوئی ٹیمپلیٹ سانچہ نہیں"
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr "باطل اسٹیک ایڈریس نام و نشان"
@@ -323,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -378,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -437,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -799,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -820,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1038,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1381,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1621,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1812,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1969,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2577,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2614,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3105,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3195,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3244,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3254,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3263,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3345,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3353,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3537,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3647,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3777,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3939,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4092,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4509,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4645,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4696,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4731,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4743,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5361,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5425,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5689,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5732,90 +5623,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5824,37 +5696,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5872,21 +5722,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5897,41 +5732,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5982,131 +5782,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6115,106 +5806,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6223,16 +5818,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6254,26 +5839,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6304,12 +5873,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6317,11 +5896,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/vi_VN/LC_MESSAGES/heat.po b/heat/locale/vi_VN/LC_MESSAGES/heat.po
index 5b6ea8332..48fd24ba7 100644
--- a/heat/locale/vi_VN/LC_MESSAGES/heat.po
+++ b/heat/locale/vi_VN/LC_MESSAGES/heat.po
@@ -1,14 +1,15 @@
# Vietnamese (Vietnam) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
+# Nguyen Tien <tienvj@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-11 04:52+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Vietnamese (Viet Nam) "
"(http://www.transifex.com/projects/p/openstack/language/vi_VN/)\n"
@@ -18,248 +19,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +311,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +328,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +387,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +446,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr "Xảy ra lỗi chưa xác định thuộc về hệ thống ."
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr "Lỗi exception trong tiến trình định dạng chuỗi"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +817,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +838,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1056,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1381,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1625,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1816,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1993,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2597,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2634,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3125,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3215,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3264,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3274,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3283,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3365,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3373,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3557,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3682,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3822,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3984,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4137,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4554,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4690,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4744,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4779,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4791,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5409,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5473,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5580,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,92 +5623,73 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
"Thông số không hợp lệ: Unicode hiện chưa được hỗ trợ bởi hệ cơ sở dữ liệu"
" hiện tại."
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr "Lỗi exception DB khi bao bọc."
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5825,37 +5698,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5873,21 +5724,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5898,41 +5734,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5983,131 +5784,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6116,106 +5808,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6224,16 +5820,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6255,26 +5841,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6305,12 +5875,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6318,11 +5898,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/zh_CN/LC_MESSAGES/heat.po b/heat/locale/zh_CN/LC_MESSAGES/heat.po
index dd4f28602..8ca21d633 100644
--- a/heat/locale/zh_CN/LC_MESSAGES/heat.po
+++ b/heat/locale/zh_CN/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# Chinese (Simplified, China) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: zh_Hans_CN <LL@li.org>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Chinese (China) "
+"(http://www.transifex.com/projects/p/openstack/language/zh_CN/)\n"
+"Plural-Forms: nplurals=1; plural=0\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,58 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"无法从配置文件 %(conf_file)s 装入 %(app_name)s。\n"
+"发生错误:%(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +447,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "发生未知异常。"
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "字符串格式操作中发生异常"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "缺少必需凭证:%(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
-msgstr ""
+msgstr "授权策略不正确,期望的是“%(expected)s”,但接收到的是“%(received)s”"
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
-msgstr ""
+msgstr "发生连接错误,或者对 URL %(url)s 处的授权服务的请求不正确。"
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "找不到 URL %(url)s 处的授权服务。"
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "授权失败。"
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "您未经认证。"
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "您无权完成此操作。"
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "对于授权,正在重定向至 %(uri)s。"
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "已超过最大重定向次数 (%(redirects)s)。"
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "接收到无效 HTTP 重定向。"
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
-msgstr ""
+msgstr "对于区域 %(region)s,存在多个“映像”服务匹配项。这通常意味着需要区域并且尚未提供一个区域。"
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "内容类型 %(content_type)s 无效"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +818,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +839,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
-msgstr ""
+msgstr "以 SSL 方式运行服务器时,必须在配置文件中同时指定 cert_file 和 key_file 选项值"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "接收到 SIGTERM"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "正在启动 %d 工作程序"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "正在除去已终止的子代 %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "捕获到键盘中断。正在退出。"
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "已退出"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "子代 %d 正在正常退出"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "已启动子代 %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "正在启动单个进程服务器"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "处理资源时发生异常:%s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "正在将 %(code)s 返回给用户:%(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1057,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "栈ID"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "栈名"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1382,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "请删除 %s"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1626,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1817,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "Resources must contain Resource. Found a [%s] instead"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/update.py:79
#, python-format
msgid "Deleting backup resource %s"
msgstr ""
-#: heat/engine/update.py:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1906,7 +1932,7 @@ msgstr ""
#: heat/engine/watchrule.py:213
#, python-format
msgid "ignoring %s"
-msgstr ""
+msgstr "忽略 %s"
#: heat/engine/watchrule.py:250
#, python-format
@@ -1968,569 +1994,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2598,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2635,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "从指定的浮动IP池中分配一个浮动IP。"
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3126,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3216,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3265,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3275,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3284,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3366,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3374,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3558,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3683,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3823,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3985,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4138,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4555,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4691,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4745,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4780,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4792,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5410,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,284 +5474,127 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
-msgstr ""
+msgstr "消息对象不支持附加。"
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
+msgstr "消息对象不支持str(),因为其中可能包含非ASCII字符。请使用unicode()或translate()代替。"
-#: heat/openstack/common/lockutils.py:235
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "建议不要使用:%s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
-msgstr ""
+msgstr "加载登陆配置出错 %(log_config)s:%(err_msg)s"
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "syslog设备必须作为一个 %s 。"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
+msgstr "对建议不要使用的配置进行了后果极严重的调用:%(msg)s"
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
-msgstr ""
+msgstr "JSON文件包含策略"
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
-msgstr ""
+msgstr "当被请求的规则无法找到时,规则被强制执行。"
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
-msgstr ""
+msgstr "策略不允许 %s 被执行。"
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
-msgstr ""
-
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
+msgstr "规则必须是字典或者规则的实例化对像,获取 %s 取代"
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "发现未知的 utils.execute 关键字参数:%r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "正在运行cmd (subprocess):%s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "运行结果为 %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r 失败,重试。"
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "运行cmd (SSH):%s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "SSH上不支持环境变量"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "SSH上不支持的进程输入参数。"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "找不到 cert_file:%s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "找不到 ca_file:%s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "找不到 key_file:%s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
-msgstr ""
+msgstr "SSL版本无效:%s"
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
-msgstr ""
+msgstr "不可识别的值 '%(val)s', 可接受的值是: %(acceptable)s"
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
+msgid "Invalid string format: %s"
+msgstr "字符串格式无效: %s"
#: heat/openstack/common/versionutils.py:69
#, python-format
@@ -5719,221 +5612,130 @@ msgstr ""
#: heat/openstack/common/crypto/utils.py:27
msgid "An unknown error occurred in crypto utils."
-msgstr ""
+msgstr "在加密工具中出现未知错误。"
#: heat/openstack/common/crypto/utils.py:34
#, python-format
msgid "Block size of %(given)d is too big, max = %(maximum)d"
-msgstr ""
+msgstr "块尺寸 %(given)d 过大, 最大值 = %(maximum)d"
#: heat/openstack/common/crypto/utils.py:43
#, python-format
msgid "Length of %(given)d is too long, max = %(maximum)d"
-msgstr ""
+msgstr "长度 %(given)d 过长, 最大值 = %(maximum)d"
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "参数无效:当前数据库不支持 Unicode。"
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "version应该是整数"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
-msgstr ""
+msgstr "表 \"%s\" 包含非utf8核对, 请确保所有表是 CHARSET=utf8"
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
-msgstr ""
+msgstr "数据库不受版本控制,但是包含表格。请手动标记schema的当前版本。"
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "提供的排序键无效。"
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "排序方向未知,必须为“降序”或“升序”"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "无法识别的 read_deleted 取值”%s“"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
-msgstr ""
+msgstr "请在 col_name_col_instance 参数中指定列 %s。要求执行此操作的原因是列中包含不受 sqlite 支持的类型)。"
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
+msgstr "对于列 %s,col_name_col_instance 参数具有不正确类型的列实例。它应该是 sqlalchemy.Column 的实例。"
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
-msgstr ""
+msgstr "不支持的id列类型"
#: heat/openstack/common/notifier/api.py:129
#, python-format
msgid "%s not in valid priorities"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s 不在有效的优先级"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
-msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+msgstr "现在,已建议不要使用 rabbit_notifier。请改为使用 rpc_notifier。"
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
-msgstr ""
+msgstr "没有任何调用线程正在等待 msg_id : %(msg_id)s, 消息 : %(data)s"
#: heat/openstack/common/rpc/amqp.py:205
#, python-format
msgid "_call_waiters: %s"
-msgstr ""
+msgstr "_call_waiters: %s"
#: 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:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
+msgstr "调用等待的线程的数目大于警告阈值:%d。可能存在 MulticallProxyWaiter 泄漏。"
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "没有适用于消息的方法:%s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "没有适用于消息的方法:%s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "发生与 RPC 相关的未知异常。"
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,337 +5743,110 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"远程错误:%(exc_type)s %(value)s\n"
+"%(traceback)s。"
#: 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 ""
+msgstr "当等待在RPC响应超时-- 主题: \"%(topic)s\", RPC 方法: \"%(method)s\" info:\"%(info)s\""
#: heat/openstack/common/rpc/common.py:140
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<未知>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "找到重复消息 (%(msg_id)s)。正在跳过该消息。"
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "无效的RPC连接重用。"
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
-msgstr ""
+msgstr "指定的 RPC 版本 %(version)s 不受此端点支持。"
#: heat/openstack/common/rpc/common.py:159
#, python-format
msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
-msgstr ""
+msgstr "指定的 RPC 包络版本 %(version)s 不受此端点支持。"
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
+msgstr "指定的RPC版本限定, %(version_cap)s, 过慢"
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"无法连接到位于%(hostname)s:%(port)d的AMQP server,尝试已经 %(max_retries)d "
+"次:%(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
+msgstr "qpid_topology_version的值无效: %d"
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "未能打开套接字。"
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "无法在此套接字上执行“恢复”操作。"
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "无法在此套接字上执行“发送”操作。"
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "主题包含了危险字符。"
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "返回了不受支持或未知的 ZMQ 包络。"
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "RPC 消息无效。"
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "不存在任何 MatchMaker 结果。未在进行传播。"
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "不存在任何来自 MatchMaker 的匹配项。"
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
-msgstr ""
+msgstr "rpc_zmq_matchmaker = %(orig)s已被弃用; 请使用 %(new)s 作为替代"
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "MatchMaker 找不到匹配项。"
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "MatchMaker 没有实现注册或脉动信号。"
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "请在启动脉动信号之前进行注册。"
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5878,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5901,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/zh_HK/LC_MESSAGES/heat.po b/heat/locale/zh_HK/LC_MESSAGES/heat.po
index 30e21ca31..194c8b60d 100644
--- a/heat/locale/zh_HK/LC_MESSAGES/heat.po
+++ b/heat/locale/zh_HK/LC_MESSAGES/heat.po
@@ -1,5 +1,5 @@
# Chinese (Traditional, Hong Kong SAR China) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
#
# Translators:
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: 2013-10-10 01:09+0000\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Chinese (Hong Kong) "
"(http://www.transifex.com/projects/p/openstack/language/zh_HK/)\n"
@@ -18,248 +18,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: heat/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,51 +386,51 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
@@ -436,359 +445,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
msgstr ""
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
msgstr ""
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
msgstr ""
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
msgstr ""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
msgstr ""
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
msgstr ""
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
msgstr ""
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
msgstr ""
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
msgstr ""
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
msgstr ""
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
msgstr ""
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
msgstr ""
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
msgstr ""
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
msgstr ""
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +816,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +837,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
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:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
msgstr ""
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
msgstr ""
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
msgstr ""
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
msgstr ""
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
msgstr ""
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
msgstr ""
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
msgstr ""
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
msgstr ""
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
msgstr ""
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
msgstr ""
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1055,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:41
+#, 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:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
msgstr ""
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
msgstr ""
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1380,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
msgstr ""
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1624,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1815,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1992,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2596,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2633,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3124,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3214,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3263,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3273,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3282,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3364,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3372,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3556,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3681,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3821,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3983,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4136,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4553,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4689,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4743,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4778,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4790,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5408,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,250 +5472,93 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Released file lock \"%s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
-#, python-format
-msgid "Got semaphore \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
msgstr ""
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
msgstr ""
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
msgstr ""
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
msgstr ""
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
msgstr ""
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
msgstr ""
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
msgstr ""
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
-
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
@@ -5688,19 +5579,19 @@ msgstr ""
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,90 +5622,71 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
+msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
msgid "Unsupported id columns type"
msgstr ""
@@ -5823,37 +5695,15 @@ msgstr ""
msgid "%s not in valid priorities"
msgstr ""
-#: heat/openstack/common/notifier/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
-
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
msgstr ""
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
msgid "No calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
@@ -5871,21 +5721,6 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
@@ -5896,41 +5731,6 @@ msgstr ""
msgid "No method for message: %s"
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
-
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
msgstr ""
@@ -5981,131 +5781,22 @@ msgstr ""
msgid "Specified RPC version cap, %(version_cap)s, is too low"
msgstr ""
-#: heat/openstack/common/rpc/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(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_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
msgstr ""
@@ -6114,106 +5805,10 @@ msgstr ""
msgid "You cannot send on this socket."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
msgstr ""
@@ -6222,16 +5817,6 @@ msgstr ""
msgid "RPC Message Invalid."
msgstr ""
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
msgstr ""
@@ -6253,26 +5838,10 @@ msgstr ""
msgid "Matchmaker does not implement registration or heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
-
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
msgstr ""
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
-
#: heat/tests/generic_resource.py:32
#, python-format
msgid "Creating generic resource (Type \"%s\")"
@@ -6303,12 +5872,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5895,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."
diff --git a/heat/locale/zh_TW/LC_MESSAGES/heat.po b/heat/locale/zh_TW/LC_MESSAGES/heat.po
index a5e2c05cf..5feb76002 100644
--- a/heat/locale/zh_TW/LC_MESSAGES/heat.po
+++ b/heat/locale/zh_TW/LC_MESSAGES/heat.po
@@ -1,265 +1,265 @@
# Chinese (Traditional, Taiwan) translations for heat.
-# Copyright (C) 2013 ORGANIZATION
+# Copyright (C) 2014 ORGANIZATION
# This file is distributed under the same license as the heat project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
#
-#, fuzzy
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: heat 2013.2.a430.gd264018\n"
+"Project-Id-Version: Heat\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-28 06:08+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: zh_Hant_TW <LL@li.org>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"POT-Creation-Date: 2014-04-22 06:08+0000\n"
+"PO-Revision-Date: 2014-04-21 17:21+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Chinese (Taiwan) "
+"(http://www.transifex.com/projects/p/openstack/language/zh_TW/)\n"
+"Plural-Forms: nplurals=1; plural=0\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/api/aws/ec2token.py:38
+#: heat/api/aws/ec2token.py:37
msgid "Authentication Endpoint URI."
msgstr ""
-#: heat/api/aws/ec2token.py:41 heat/common/config.py:148
+#: heat/api/aws/ec2token.py:40 heat/common/config.py:150
msgid "Allow orchestration of multiple clouds."
msgstr ""
-#: heat/api/aws/ec2token.py:44 heat/common/config.py:151
+#: heat/api/aws/ec2token.py:43 heat/common/config.py:153
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:129
+#: heat/api/aws/ec2token.py:128
#, python-format
msgid "Attempt authorize on %s"
msgstr ""
-#: heat/api/aws/ec2token.py:132
+#: heat/api/aws/ec2token.py:131
#, python-format
msgid "Authorize failed: %s"
msgstr ""
-#: heat/api/aws/ec2token.py:142
+#: heat/api/aws/ec2token.py:141
msgid "Checking AWS credentials.."
msgstr ""
-#: heat/api/aws/ec2token.py:149
+#: heat/api/aws/ec2token.py:148
msgid "No AWS Signature found."
msgstr ""
-#: heat/api/aws/ec2token.py:157
+#: heat/api/aws/ec2token.py:156
msgid "No AWSAccessKeyId/Authorization Credential"
msgstr ""
-#: heat/api/aws/ec2token.py:160
+#: heat/api/aws/ec2token.py:159
msgid "AWS credentials found, checking against keystone."
msgstr ""
-#: heat/api/aws/ec2token.py:163
+#: heat/api/aws/ec2token.py:162
msgid "Ec2Token authorization failed, no auth_uri specified in config file"
msgstr ""
-#: heat/api/aws/ec2token.py:165
+#: heat/api/aws/ec2token.py:164
msgid "Service misconfigured"
msgstr ""
-#: heat/api/aws/ec2token.py:188
+#: heat/api/aws/ec2token.py:187
#, python-format
msgid "Authenticating with %s"
msgstr ""
-#: heat/api/aws/ec2token.py:196
+#: heat/api/aws/ec2token.py:195
msgid "AWS authentication successful."
msgstr ""
-#: heat/api/aws/ec2token.py:198
+#: heat/api/aws/ec2token.py:197
msgid "AWS authentication failure."
msgstr ""
-#: heat/api/aws/exception.py:35
+#: heat/api/aws/exception.py:36
msgid "Generic HeatAPIException, please use specific subclasses!"
msgstr ""
-#: heat/api/aws/exception.py:74
+#: heat/api/aws/exception.py:75
msgid "The request signature does not conform to AWS standards"
msgstr ""
-#: heat/api/aws/exception.py:83
+#: heat/api/aws/exception.py:84
msgid "The request processing has failed due to an internal error"
msgstr ""
-#: heat/api/aws/exception.py:94
+#: heat/api/aws/exception.py:95
msgid "The action or operation requested is invalid"
msgstr ""
-#: heat/api/aws/exception.py:103
+#: heat/api/aws/exception.py:104
msgid "The certificate or AWS Key ID provided does not exist"
msgstr ""
-#: heat/api/aws/exception.py:112
+#: heat/api/aws/exception.py:113
msgid "Incompatible parameters were used together"
msgstr ""
-#: heat/api/aws/exception.py:121
+#: heat/api/aws/exception.py:122
msgid "A bad or out-of-range value was supplied"
msgstr ""
-#: heat/api/aws/exception.py:130
+#: heat/api/aws/exception.py:131
msgid "AWS query string is malformed, does not adhere to AWS spec"
msgstr ""
-#: heat/api/aws/exception.py:140
+#: heat/api/aws/exception.py:141
msgid "The query string is malformed"
msgstr ""
-#: heat/api/aws/exception.py:149
+#: heat/api/aws/exception.py:150
msgid "The request is missing an action or operation parameter"
msgstr ""
-#: heat/api/aws/exception.py:159
+#: heat/api/aws/exception.py:160
msgid "Does not contain a valid AWS Access Key or certificate"
msgstr ""
-#: heat/api/aws/exception.py:168
+#: heat/api/aws/exception.py:169
msgid "A mandatory input parameter is missing"
msgstr ""
-#: heat/api/aws/exception.py:177
+#: heat/api/aws/exception.py:178
msgid "The AWS Access Key ID needs a subscription for the service"
msgstr ""
-#: heat/api/aws/exception.py:188
+#: heat/api/aws/exception.py:189
msgid "Request expired or more than 15mins in the future"
msgstr ""
-#: heat/api/aws/exception.py:197
+#: heat/api/aws/exception.py:198
msgid "Service temporarily unavailable"
msgstr ""
-#: heat/api/aws/exception.py:207
+#: heat/api/aws/exception.py:208
msgid "Request was denied due to request throttling"
msgstr ""
-#: heat/api/aws/exception.py:216
+#: heat/api/aws/exception.py:217
msgid "Resource with the name requested already exists"
msgstr ""
-#: heat/api/aws/exception.py:227
+#: heat/api/aws/exception.py:228
msgid "User is not authorized to perform action"
msgstr ""
-#: heat/api/aws/exception.py:237
+#: heat/api/aws/exception.py:238
msgid ""
"The request signature we calculated does not match the signature you "
"provided"
msgstr ""
-#: heat/api/aws/exception.py:248
+#: heat/api/aws/exception.py:249
msgid "The requested action is not yet implemented"
msgstr ""
-#: heat/api/aws/utils.py:106
+#: heat/api/aws/utils.py:105
#, python-format
msgid "Request does not contain %s parameter!"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:55 heat/api/cloudwatch/watch.py:49
+#: heat/api/cfn/v1/stacks.py:54 heat/api/cloudwatch/watch.py:48
#, python-format
msgid "Action %s not allowed for user"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:62 heat/api/cloudwatch/watch.py:56
+#: heat/api/cfn/v1/stacks.py:61 heat/api/cloudwatch/watch.py:55
#, python-format
msgid "Error authorizing action %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:258
+#: heat/api/cfn/v1/stacks.py:257
#, python-format
msgid "Failed to fetch template: %s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:293
+#: heat/api/cfn/v1/stacks.py:292
msgid "DisableRollback and OnFailure may not be used together"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:313
+#: heat/api/cfn/v1/stacks.py:312
#, python-format
msgid "Unexpected action %(action)s"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:331 heat/api/cfn/v1/stacks.py:413
+#: heat/api/cfn/v1/stacks.py:330 heat/api/cfn/v1/stacks.py:412
msgid "Invalid Template URL"
msgstr ""
-#: heat/api/cfn/v1/stacks.py:335 heat/api/cfn/v1/stacks.py:416
+#: heat/api/cfn/v1/stacks.py:334 heat/api/cfn/v1/stacks.py:415
msgid "TemplateBody or TemplateUrl were not given."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:341 heat/api/cfn/v1/stacks.py:422
+#: heat/api/cfn/v1/stacks.py:340 heat/api/cfn/v1/stacks.py:421
msgid "The Template must be a JSON or YAML document."
msgstr ""
-#: heat/api/cfn/v1/stacks.py:383
+#: heat/api/cfn/v1/stacks.py:382
msgid "stack not not found"
msgstr ""
-#: heat/api/cloudwatch/watch.py:215
+#: heat/api/cloudwatch/watch.py:214
#, python-format
msgid "Invalid filter key %s, ignoring"
msgstr ""
-#: heat/api/cloudwatch/watch.py:224
+#: heat/api/cloudwatch/watch.py:223
#, python-format
msgid "filter parameters : %s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:270
+#: heat/api/cloudwatch/watch.py:269
msgid "Request does not contain required MetricData"
msgstr ""
-#: heat/api/cloudwatch/watch.py:321
+#: heat/api/cloudwatch/watch.py:320
#, python-format
msgid "Invalid state %(state)s, expecting one of %(expect)s"
msgstr ""
-#: heat/api/cloudwatch/watch.py:328
+#: heat/api/cloudwatch/watch.py:327
#, python-format
msgid "setting %(name)s to %(state)s"
msgstr ""
-#: heat/api/middleware/version_negotiation.py:50
+#: 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:65
+#: 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:73
+#: 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:89
+#: 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:95
+#: 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:103
+#: heat/api/middleware/version_negotiation.py:102
#, python-format
msgid "Unknown accept header: %s...returning HTTP not found."
msgstr ""
@@ -310,7 +310,12 @@ msgstr ""
msgid "No template specified"
msgstr ""
-#: heat/api/openstack/v1/util.py:62
+#: heat/api/openstack/v1/stacks.py:185
+#, python-format
+msgid "Old Engine Version: %s"
+msgstr ""
+
+#: heat/api/openstack/v1/util.py:61
msgid "Invalid Stack address"
msgstr ""
@@ -322,53 +327,57 @@ msgstr ""
msgid "Granularity to use for age argument, defaults to days."
msgstr ""
-#: heat/common/auth_url.py:43
+#: heat/common/auth_url.py:44
msgid "Request missing required header X-Auth-Url"
msgstr ""
-#: heat/common/auth_url.py:47
+#: heat/common/auth_url.py:48
#, python-format
msgid "Header X-Auth-Url \"%s\" not an allowed endpoint"
msgstr ""
-#: heat/common/config.py:36
+#: heat/common/config.py:34
msgid "The flavor to use."
msgstr ""
-#: heat/common/config.py:38
+#: heat/common/config.py:36
msgid "The API paste config file to use."
msgstr ""
-#: heat/common/config.py:102
+#: heat/common/config.py:100
msgid "Select deferred auth method, stored password or trusts."
msgstr ""
-#: heat/common/config.py:106
+#: heat/common/config.py:104
msgid "Subset of trustor roles to be delegated to heat."
msgstr ""
-#: heat/common/config.py:112
+#: heat/common/config.py:110
msgid "Maximum number of stacks any one tenant may have active at one time."
msgstr ""
-#: heat/common/config.py:116
+#: heat/common/config.py:114
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:122
+#: heat/common/config.py:120
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:127
+#: heat/common/config.py:125
+msgid "Timeout in seconds for stack action (ie. create or update)."
+msgstr ""
+
+#: heat/common/config.py:129
msgid "RPC timeout for the engine liveness check that is used for stack locking."
msgstr ""
-#: heat/common/config.py:130
+#: heat/common/config.py:132
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 "
@@ -377,56 +386,58 @@ msgid ""
"notification module."
msgstr ""
-#: heat/common/config.py:157
+#: heat/common/config.py:159
msgid ""
"Type of endpoint in Identity service catalog to use for communication "
"with the OpenStack service."
msgstr ""
-#: heat/common/config.py:161
+#: heat/common/config.py:163
msgid "Optional CA cert file to use in SSL connections."
msgstr ""
-#: heat/common/config.py:163
+#: heat/common/config.py:165
msgid "Optional PEM-formatted certificate chain file."
msgstr ""
-#: heat/common/config.py:165
+#: heat/common/config.py:167
msgid "Optional PEM-formatted file that contains the private key."
msgstr ""
-#: heat/common/config.py:169
+#: heat/common/config.py:171
msgid "If set, then the server's certificate will not be verified."
msgstr ""
-#: heat/common/config.py:184
+#: heat/common/config.py:186
#, python-format
msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s."
msgstr ""
-#: heat/common/config.py:194
+#: heat/common/config.py:196
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:223
+#: 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:270
+#: heat/common/config.py:272
msgid "Unable to locate config file"
msgstr ""
-#: heat/common/config.py:282
+#: heat/common/config.py:284
#, python-format
msgid ""
"Unable to load %(app_name)s from configuration file %(conf_file)s.\n"
"Got: %(e)r"
msgstr ""
+"無法從配置檔 %(conf_file)s 載入 %(app_name)s。\n"
+"發生錯誤:%(e)r"
#: heat/common/custom_backend_auth.py:45
msgid "Authenticating user token"
@@ -436,359 +447,368 @@ msgstr ""
msgid "Backend authentication failed"
msgstr ""
-#: heat/common/environment_format.py:39
+#: heat/common/environment_format.py:38
msgid "The environment is not a valid YAML mapping data type."
msgstr ""
-#: heat/common/environment_format.py:43
+#: heat/common/environment_format.py:42
#, python-format
msgid "environment has wrong section \"%s\""
msgstr ""
-#: heat/common/exception.py:102
+#: heat/common/exception.py:104
msgid "An unknown exception occurred."
-msgstr ""
+msgstr "發生一個未知例外"
-#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88
+#: heat/common/exception.py:115
msgid "Exception in string format operation"
-msgstr ""
+msgstr "字串格式化作業發生異常狀況"
-#: heat/common/exception.py:128
+#: heat/common/exception.py:133
#, python-format
msgid "Missing required credential: %(required)s"
-msgstr ""
+msgstr "遺漏了必要認證:%(required)s"
-#: heat/common/exception.py:132
+#: heat/common/exception.py:137
#, python-format
msgid ""
"Incorrect auth strategy, expected \"%(expected)s\" but received "
"\"%(received)s\""
-msgstr ""
+msgstr "不正確的鑑別策略,需要 \"%(expected)s\",但收到 \"%(received)s\""
-#: heat/common/exception.py:137
+#: heat/common/exception.py:142
#, python-format
msgid "Connect error/bad request to Auth service at URL %(url)s."
-msgstr ""
+msgstr "將錯誤/不當的要求連接至 URL %(url)s 處的鑑別服務。"
-#: heat/common/exception.py:141
+#: heat/common/exception.py:146
#, python-format
msgid "Auth service at URL %(url)s not found."
-msgstr ""
+msgstr "在 URL %(url)s 處找不到鑑別服務。"
-#: heat/common/exception.py:145
+#: heat/common/exception.py:150
msgid "Authorization failed."
-msgstr ""
+msgstr "授權失敗。"
-#: heat/common/exception.py:149
+#: heat/common/exception.py:154
msgid "You are not authenticated."
-msgstr ""
+msgstr "您沒有進行鑑別。"
-#: heat/common/exception.py:153 heat/common/exception.py:158
+#: heat/common/exception.py:158 heat/common/exception.py:163
msgid "You are not authorized to complete this action."
-msgstr ""
+msgstr "您未獲授權來完成此動作。"
-#: heat/common/exception.py:162
+#: heat/common/exception.py:167
#, python-format
msgid "Data supplied was not valid: %(reason)s"
msgstr ""
-#: heat/common/exception.py:166
+#: heat/common/exception.py:171
#, python-format
msgid "Redirecting to %(uri)s for authorization."
-msgstr ""
+msgstr "正在重新導向至 %(uri)s 以進行授權。"
-#: heat/common/exception.py:170
+#: heat/common/exception.py:175
msgid "The URI was too long."
msgstr ""
-#: heat/common/exception.py:174
+#: heat/common/exception.py:179
#, python-format
msgid "Maximum redirects (%(redirects)s) was exceeded."
-msgstr ""
+msgstr "已超出重新導向數目上限(%(redirects)s 個)。"
-#: heat/common/exception.py:178
+#: heat/common/exception.py:183
msgid "Received invalid HTTP redirect."
-msgstr ""
+msgstr "收到無效的 HTTP 重新導向。"
-#: heat/common/exception.py:182
+#: heat/common/exception.py:187
#, python-format
msgid ""
"Multiple 'image' service matches for region %(region)s. This generally "
"means that a region is required and you have not supplied one."
-msgstr ""
+msgstr "區域 %(region)s 有多個「映像檔」服務相符項。這通常表示需要一個區域,但您尚未提供。"
-#: heat/common/exception.py:188
+#: heat/common/exception.py:193
#, python-format
msgid "The Parameter (%(key)s) was not provided."
msgstr ""
-#: heat/common/exception.py:192
+#: heat/common/exception.py:197
#, python-format
msgid "The Parameter (%(key)s) was not defined in template."
msgstr ""
-#: heat/common/exception.py:196
+#: heat/common/exception.py:201
#, python-format
msgid "The template version is invalid: %(explanation)s"
msgstr ""
-#: heat/common/exception.py:200
+#: heat/common/exception.py:205
+#, python-format
+msgid "The template section is invalid: %(section)s"
+msgstr ""
+
+#: heat/common/exception.py:209
#, python-format
msgid "The Parameter (%(key)s) has no attributes."
msgstr ""
-#: heat/common/exception.py:204
+#: heat/common/exception.py:213
#, python-format
msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:209
+#: heat/common/exception.py:218
#, python-format
msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect."
msgstr ""
-#: heat/common/exception.py:214
+#: heat/common/exception.py:223
#, python-format
msgid "The Key (%(key_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:218
+#: heat/common/exception.py:227
#, python-format
msgid "The Flavor ID (%(flavor_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:222
+#: heat/common/exception.py:231
#, python-format
msgid "The Image (%(image_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:226
+#: heat/common/exception.py:235
#, python-format
msgid "Multiple physical resources were found with name (%(name)s)."
msgstr ""
-#: heat/common/exception.py:231
+#: heat/common/exception.py:240
#, python-format
msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden."
msgstr ""
-#: heat/common/exception.py:236
+#: heat/common/exception.py:245
#, python-format
msgid "The Stack (%(stack_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:240
+#: heat/common/exception.py:249
#, python-format
msgid "The Stack (%(stack_name)s) already exists."
msgstr ""
-#: heat/common/exception.py:244
+#: heat/common/exception.py:253
#, python-format
msgid "%(message)s"
msgstr ""
-#: heat/common/exception.py:248
+#: heat/common/exception.py:257
#, python-format
msgid ""
"The Resource (%(resource_name)s) could not be found in Stack "
"%(stack_name)s."
msgstr ""
-#: heat/common/exception.py:253
+#: heat/common/exception.py:262
#, python-format
msgid "The Resource Type (%(type_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:257
+#: heat/common/exception.py:266
#, python-format
msgid "The Resource (%(resource_name)s) is not available."
msgstr ""
-#: heat/common/exception.py:261
+#: heat/common/exception.py:270
#, python-format
msgid "The Resource (%(resource_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:265
+#: heat/common/exception.py:274
#, python-format
msgid "The Watch Rule (%(watch_name)s) could not be found."
msgstr ""
-#: heat/common/exception.py:269
+#: heat/common/exception.py:278
#, python-format
msgid "%(exc_type)s: %(message)s"
msgstr ""
-#: heat/common/exception.py:283
+#: heat/common/exception.py:292
#, python-format
msgid "%(feature)s is not supported."
msgstr ""
-#: heat/common/exception.py:287
+#: heat/common/exception.py:296
#, python-format
msgid "Cannot define the following properties at the same time: %s."
msgstr ""
-#: heat/common/exception.py:305
+#: heat/common/exception.py:314
msgid ""
"Egress rules are only allowed when Neutron is used and the 'VpcId' "
"property is set."
msgstr ""
-#: heat/common/exception.py:322
+#: heat/common/exception.py:325
+msgid "Not found"
+msgstr ""
+
+#: heat/common/exception.py:331
#, python-format
msgid "Invalid content type %(content_type)s"
-msgstr ""
+msgstr "無效的內容類型 %(content_type)s"
-#: heat/common/exception.py:326
+#: heat/common/exception.py:335
#, python-format
msgid "Request limit exceeded: %(message)s"
msgstr ""
-#: heat/common/exception.py:330
+#: heat/common/exception.py:339
msgid "Maximum resources per stack exceeded."
msgstr ""
-#: heat/common/exception.py:334
+#: heat/common/exception.py:343
#, python-format
msgid "Stack %(stack_name)s already has an action (%(action)s) in progress."
msgstr ""
-#: heat/common/exception.py:339
+#: heat/common/exception.py:348
#, python-format
msgid "The config (%(software_config_id)s) could not be found."
msgstr ""
-#: heat/common/exception.py:343
+#: heat/common/exception.py:352
#, python-format
msgid "Failed to stop stack (%(stack_name)s) on other engine (%(engine_id)s)"
msgstr ""
-#: heat/common/heat_keystoneclient.py:94
+#: heat/common/heat_keystoneclient.py:93
msgid ""
"heat.conf misconfigured, cannot specify stack_user_domain without "
"stack_domain_admin and stack_domain_admin_password"
msgstr ""
-#: heat/common/heat_keystoneclient.py:99
+#: heat/common/heat_keystoneclient.py:98
msgid "stack_user_domain ID not set in heat.conf falling back to using default"
msgstr ""
-#: heat/common/heat_keystoneclient.py:101
+#: heat/common/heat_keystoneclient.py:100
#, python-format
msgid "Using stack domain %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:161
+#: heat/common/heat_keystoneclient.py:160
msgid "Keystone v3 API connection failed, no password trust or auth_token!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:172
+#: heat/common/heat_keystoneclient.py:171
msgid "trust token re-scoping failed!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:262
+#: heat/common/heat_keystoneclient.py:261
#, python-format
msgid "Truncating the username %s to the last 64 characters."
msgstr ""
-#: heat/common/heat_keystoneclient.py:296
-#: heat/common/heat_keystoneclient.py:337
+#: 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:301
-#: heat/common/heat_keystoneclient.py:342
+#: heat/common/heat_keystoneclient.py:300
+#: heat/common/heat_keystoneclient.py:341
#, python-format
msgid "Failed to add user %(user)s to role %(role)s, check role exists!"
msgstr ""
-#: heat/common/heat_keystoneclient.py:305
-#: heat/common/heat_keystoneclient.py:345
+#: heat/common/heat_keystoneclient.py:304
+#: heat/common/heat_keystoneclient.py:344
#, python-format
msgid "Can't find role %s"
msgstr ""
-#: heat/common/heat_keystoneclient.py:321
+#: heat/common/heat_keystoneclient.py:320
msgid ""
"Falling back to legacy non-domain user create, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:354
+#: heat/common/heat_keystoneclient.py:353
#, python-format
msgid "User %s in invalid domain"
msgstr ""
-#: heat/common/heat_keystoneclient.py:356
+#: heat/common/heat_keystoneclient.py:355
#, python-format
msgid "User %s in invalid project"
msgstr ""
-#: heat/common/heat_keystoneclient.py:362
+#: heat/common/heat_keystoneclient.py:361
msgid ""
"Falling back to legacy non-domain user delete, configure domain in "
"heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:376
-#: heat/common/heat_keystoneclient.py:393
+#: heat/common/heat_keystoneclient.py:375
+#: heat/common/heat_keystoneclient.py:392
msgid "Falling back to legacy non-domain project, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:460
-#: heat/common/heat_keystoneclient.py:477
+#: heat/common/heat_keystoneclient.py:459
+#: heat/common/heat_keystoneclient.py:476
msgid "Falling back to legacy non-domain keypair, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:496
+#: heat/common/heat_keystoneclient.py:495
msgid "Falling back to legacy non-domain disable, configure domain in heat.conf"
msgstr ""
-#: heat/common/heat_keystoneclient.py:506
+#: heat/common/heat_keystoneclient.py:505
msgid "Falling back to legacy non-domain enable, configure domain in heat.conf"
msgstr ""
-#: heat/common/identifier.py:40
+#: heat/common/identifier.py:41
msgid "Stack name may not contain \"/\""
msgstr ""
-#: heat/common/identifier.py:56
+#: heat/common/identifier.py:57
#, python-format
msgid "\"%s\" is not a valid ARN"
msgstr ""
-#: heat/common/identifier.py:62
+#: heat/common/identifier.py:63
#, python-format
msgid "\"%s\" is not a valid Heat ARN"
msgstr ""
-#: heat/common/identifier.py:79
+#: heat/common/identifier.py:80
#, python-format
msgid "\"%s\" is not a valid URL"
msgstr ""
-#: heat/common/identifier.py:85
+#: heat/common/identifier.py:86
#, python-format
msgid "\"%s\" is not a valid ARN URL"
msgstr ""
-#: heat/common/identifier.py:141 heat/common/identifier.py:148
+#: heat/common/identifier.py:142 heat/common/identifier.py:149
#, python-format
msgid "Unknown attribute \"%s\""
msgstr ""
-#: heat/common/identifier.py:179 heat/engine/resource.py:142
+#: heat/common/identifier.py:180 heat/engine/resource.py:141
msgid "Resource name may not contain \"/\""
msgstr ""
-#: heat/common/notify.py:36
+#: heat/common/notify.py:38
#, python-format
msgid "Failed to execute onready command: %s"
msgstr ""
-#: heat/common/plugin_loader.py:93
+#: heat/common/plugin_loader.py:92
#, python-format
msgid "Failed to import module %s"
msgstr ""
@@ -798,20 +818,20 @@ msgstr ""
msgid "Invalid UUID version (%d)"
msgstr ""
-#: heat/common/systemd.py:39
+#: heat/common/systemd.py:40
msgid "Unable to notify systemd of startup completion: NOTIFY_SOCKET not set"
msgstr ""
-#: heat/common/template_format.py:72
+#: heat/common/template_format.py:71
#, python-format
msgid "Template exceeds maximum allowed size (%s bytes)"
msgstr ""
-#: heat/common/template_format.py:77
+#: heat/common/template_format.py:76
msgid "The template is not a JSON object or YAML mapping."
msgstr ""
-#: heat/common/template_format.py:83
+#: heat/common/template_format.py:82
msgid "Template format version not found."
msgstr ""
@@ -819,215 +839,215 @@ msgstr ""
msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported."
msgstr ""
-#: heat/common/urlfetch.py:41
+#: heat/common/urlfetch.py:46
#, python-format
msgid "Fetching data from %s"
msgstr ""
-#: heat/common/urlfetch.py:46
+#: heat/common/urlfetch.py:51
#, python-format
msgid "Invalid URL scheme %s"
msgstr ""
-#: heat/common/urlfetch.py:52 heat/common/urlfetch.py:76
+#: heat/common/urlfetch.py:57 heat/common/urlfetch.py:81
#, python-format
msgid "Failed to retrieve template: %s"
msgstr ""
-#: heat/common/wsgi.py:54 heat/common/wsgi.py:88 heat/common/wsgi.py:122
+#: heat/common/wsgi.py:55 heat/common/wsgi.py:89 heat/common/wsgi.py:123
msgid ""
"Address to bind the server. Useful when selecting a particular network "
"interface."
msgstr ""
-#: heat/common/wsgi.py:58 heat/common/wsgi.py:92 heat/common/wsgi.py:126
+#: heat/common/wsgi.py:59 heat/common/wsgi.py:93 heat/common/wsgi.py:127
msgid "The port on which the server will listen."
msgstr ""
-#: heat/common/wsgi.py:61 heat/common/wsgi.py:95 heat/common/wsgi.py:129
+#: heat/common/wsgi.py:62 heat/common/wsgi.py:96 heat/common/wsgi.py:130
msgid "Number of backlog requests to configure the socket with."
msgstr ""
-#: heat/common/wsgi.py:65 heat/common/wsgi.py:99 heat/common/wsgi.py:133
+#: heat/common/wsgi.py:66 heat/common/wsgi.py:100 heat/common/wsgi.py:134
msgid "Location of the SSL certificate file to use for SSL mode."
msgstr ""
-#: heat/common/wsgi.py:69 heat/common/wsgi.py:103 heat/common/wsgi.py:137
+#: heat/common/wsgi.py:70 heat/common/wsgi.py:104 heat/common/wsgi.py:138
msgid "Location of the SSL key file to use for enabling SSL mode."
msgstr ""
-#: heat/common/wsgi.py:73 heat/common/wsgi.py:107 heat/common/wsgi.py:141
+#: heat/common/wsgi.py:74 heat/common/wsgi.py:108 heat/common/wsgi.py:142
msgid "Number of workers for Heat service."
msgstr ""
-#: heat/common/wsgi.py:76 heat/common/wsgi.py:110
+#: heat/common/wsgi.py:77 heat/common/wsgi.py:111
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs)."
msgstr ""
-#: heat/common/wsgi.py:144
+#: heat/common/wsgi.py:145
msgid ""
"Maximum line size of message headers to be accepted. max_header_line may "
"need to be increased when using large tokens (typically those generated "
"by the Keystone v3 API with big service catalogs.)"
msgstr ""
-#: heat/common/wsgi.py:204 heat/openstack/common/sslutils.py:59
+#: heat/common/wsgi.py:205 heat/openstack/common/sslutils.py:59
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
-msgstr ""
+msgstr "在 SSL 模式下執行伺服器時,必須在配置檔中指定 cert_file 及 key_file 選項值"
-#: heat/common/wsgi.py:222
+#: heat/common/wsgi.py:223
#, python-format
msgid "Could not bind to %(bind_addr)safter trying for 30 seconds"
msgstr ""
-#: heat/common/wsgi.py:254
+#: heat/common/wsgi.py:255
msgid "SIGTERM received"
-msgstr ""
+msgstr "收到 SIGTERM"
-#: heat/common/wsgi.py:263
+#: heat/common/wsgi.py:264
msgid "SIGHUP received"
msgstr ""
-#: heat/common/wsgi.py:279 heat/openstack/common/service.py:337
+#: heat/common/wsgi.py:280
#, python-format
msgid "Starting %d workers"
-msgstr ""
+msgstr "正在啟動 %d 個工作程式"
-#: heat/common/wsgi.py:290
+#: heat/common/wsgi.py:291
#, python-format
msgid "Removing dead child %s"
-msgstr ""
+msgstr "正在移除已停用的子項 %s"
-#: heat/common/wsgi.py:297
+#: heat/common/wsgi.py:298
msgid "Caught keyboard interrupt. Exiting."
-msgstr ""
+msgstr "已捕捉到鍵盤岔斷。正在結束。"
-#: heat/common/wsgi.py:301
+#: heat/common/wsgi.py:302
msgid "Exited"
-msgstr ""
+msgstr "已結束"
-#: heat/common/wsgi.py:319
+#: heat/common/wsgi.py:320
#, python-format
msgid "Child %d exiting normally"
-msgstr ""
+msgstr "子項 %d 正在正常結束"
-#: heat/common/wsgi.py:322
+#: heat/common/wsgi.py:323
#, python-format
msgid "Started child %s"
-msgstr ""
+msgstr "已啟動子項 %s"
-#: heat/common/wsgi.py:345
+#: heat/common/wsgi.py:346
msgid "Starting single process server"
-msgstr ""
+msgstr "正在啟動單一程序伺服器"
-#: heat/common/wsgi.py:552
+#: heat/common/wsgi.py:553
#, python-format
msgid ""
"JSON body size (%(len)s bytes) exceeds maximum allowed size (%(limit)s "
"bytes)."
msgstr ""
-#: heat/common/wsgi.py:678
+#: heat/common/wsgi.py:620
#, python-format
msgid "Exception handling resource: %s"
-msgstr ""
+msgstr "處理資源時發生異常狀況:%s"
-#: heat/common/wsgi.py:679
+#: heat/common/wsgi.py:621
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:695
+#: heat/common/wsgi.py:642
#, python-format
msgid "Returning %(code)s to user: %(explanation)s"
-msgstr ""
+msgstr "正在將 %(code)s 傳回給使用者:%(explanation)s"
-#: heat/common/wsgi.py:735
+#: heat/common/wsgi.py:681
msgid "Unable to serialize exception response"
msgstr ""
-#: heat/common/wsgi.py:770
+#: heat/common/wsgi.py:716
#, python-format
msgid "Unexpected error occurred serving API: %s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:77
+#: heat/db/sqlalchemy/api.py:89
#, python-format
msgid "raw template with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:94
+#: heat/db/sqlalchemy/api.py:106
#, python-format
msgid "resource with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:124
+#: heat/db/sqlalchemy/api.py:136
msgid "no resources were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:138
+#: heat/db/sqlalchemy/api.py:150
msgid "no resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:188
+#: heat/db/sqlalchemy/api.py:200
msgid "No resource data found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:241
+#: heat/db/sqlalchemy/api.py:253
#, python-format
msgid "no resources for stack_id %s were found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:382
+#: heat/db/sqlalchemy/api.py:394
#, python-format
msgid "Attempt to update a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:394
+#: heat/db/sqlalchemy/api.py:406
#, python-format
msgid "Attempt to delete a stack with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:477
+#: heat/db/sqlalchemy/api.py:489
#, python-format
msgid "Attempt to delete user creds with id %(id)s that does not exist"
msgstr ""
-#: heat/db/sqlalchemy/api.py:592
+#: heat/db/sqlalchemy/api.py:604
#, python-format
msgid "Attempt to update a watch with id: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:604
+#: heat/db/sqlalchemy/api.py:616
#, python-format
msgid "Attempt to delete watch_rule: %(id)s %(msg)s"
msgstr ""
-#: heat/db/sqlalchemy/api.py:643
+#: heat/db/sqlalchemy/api.py:655
#, python-format
msgid "Software config with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:670
+#: heat/db/sqlalchemy/api.py:682
#, python-format
msgid "Deployment with id %s not found"
msgstr ""
-#: heat/db/sqlalchemy/api.py:706
+#: heat/db/sqlalchemy/api.py:718
msgid "age should be an integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:708
+#: heat/db/sqlalchemy/api.py:720
msgid "age should be a positive integer"
msgstr ""
-#: heat/db/sqlalchemy/api.py:712
+#: heat/db/sqlalchemy/api.py:724
msgid "granularity should be days, hours, minutes, or seconds"
msgstr ""
@@ -1037,340 +1057,322 @@ msgid ""
"records."
msgstr ""
-#: heat/db/sqlalchemy/migrate_repo/versions/037_migrate_hot_template.py:56
-#: heat/db/sqlalchemy/migrate_repo/versions/041_migrate_hot_template_resources.py:69
+#: 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
msgid ""
"This version cannot be downgraded because it involves a data migration to"
" the raw_template table."
msgstr ""
-#: heat/engine/api.py:35
-msgid "create timeout conversion"
+#: heat/engine/api.py:36
+msgid "Timeout conversion failed"
+msgstr ""
+
+#: heat/engine/api.py:41
+#, python-format
+msgid "Invalid timeout value %s"
msgstr ""
-#: heat/engine/api.py:47
+#: heat/engine/api.py:50
#, python-format
msgid "Unexpected value for parameter %(name)s : %(value)s"
msgstr ""
-#: heat/engine/api.py:57
+#: heat/engine/api.py:60
#, python-format
msgid "Unexpected adopt data \"%s\". Adopt data must be a dict."
msgstr ""
-#: heat/engine/api.py:233
+#: heat/engine/api.py:236
msgid "Unexpected number of keys in watch_data.data!"
msgstr ""
-#: heat/engine/attributes.py:84
+#: heat/engine/attributes.py:83
#, python-format
msgid "%(resource)s: Invalid attribute %(key)s"
msgstr ""
-#: heat/engine/clients.py:33
+#: heat/engine/clients.py:31
msgid "swiftclient not available"
msgstr ""
-#: heat/engine/clients.py:38
+#: heat/engine/clients.py:36
msgid "neutronclient not available"
msgstr ""
-#: heat/engine/clients.py:43
+#: heat/engine/clients.py:41
msgid "cinderclient not available"
msgstr ""
-#: heat/engine/clients.py:49
+#: heat/engine/clients.py:47
msgid "troveclient not available"
msgstr ""
-#: heat/engine/clients.py:55
+#: heat/engine/clients.py:53
msgid "ceilometerclient not available"
msgstr ""
-#: heat/engine/clients.py:104
-msgid "Nova connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:141
-msgid "Swift connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:169
+#: heat/engine/clients.py:159
msgid "Neutron connection failed, no auth_token!"
msgstr ""
-#: heat/engine/clients.py:196
-msgid "Cinder connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:227
-msgid "Trove connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:257
-msgid "Ceilometer connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/clients.py:304
-msgid "Heat connection failed, no auth_token!"
-msgstr ""
-
-#: heat/engine/constraints.py:84
+#: heat/engine/constraints.py:87
#, python-format
msgid "Invalid type (%s)"
msgstr ""
-#: heat/engine/constraints.py:91
+#: heat/engine/constraints.py:94
#, python-format
msgid "Single schema valid only for %(ltype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:101
+#: heat/engine/constraints.py:104
#, python-format
msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:110
+#: heat/engine/constraints.py:113
#, python-format
msgid "%(name)s constraint invalid for %(utype)s"
msgstr ""
-#: heat/engine/constraints.py:124 heat/engine/parameters.py:83
+#: heat/engine/constraints.py:127 heat/engine/parameters.py:85
#, python-format
msgid "Invalid default %(default)s (%(exc)s)"
msgstr ""
-#: heat/engine/constraints.py:200
+#: heat/engine/constraints.py:206
#, python-format
msgid "Invalid key %s"
msgstr ""
-#: heat/engine/constraints.py:289
+#: heat/engine/constraints.py:295
msgid "min/max must be numeric"
msgstr ""
-#: heat/engine/constraints.py:293
+#: heat/engine/constraints.py:299
msgid "A range constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:298
+#: heat/engine/constraints.py:304
#, python-format
msgid "The value must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:300
+#: heat/engine/constraints.py:306
#, python-format
msgid "The value must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:302
+#: heat/engine/constraints.py:308
#, python-format
msgid "The value must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:350
+#: heat/engine/constraints.py:356
msgid "A length constraint must have a min value and/or a max value specified."
msgstr ""
-#: heat/engine/constraints.py:357
+#: heat/engine/constraints.py:363
msgid "min/max length must be integral"
msgstr ""
-#: heat/engine/constraints.py:362
+#: heat/engine/constraints.py:368
#, python-format
msgid "The length must be at least %(min)s."
msgstr ""
-#: heat/engine/constraints.py:364
+#: heat/engine/constraints.py:370
#, python-format
msgid "The length must be no greater than %(max)s."
msgstr ""
-#: heat/engine/constraints.py:366
+#: heat/engine/constraints.py:372
#, python-format
msgid "The length must be in the range %(min)s to %(max)s."
msgstr ""
-#: heat/engine/constraints.py:397
+#: heat/engine/constraints.py:403
msgid "AllowedValues must be a list"
msgstr ""
-#: heat/engine/constraints.py:402
+#: heat/engine/constraints.py:408
#, python-format
msgid "Allowed values: %s"
msgstr ""
-#: heat/engine/constraints.py:437
+#: heat/engine/constraints.py:443
msgid "AllowedPattern must be a string"
msgstr ""
-#: heat/engine/constraints.py:442
+#: heat/engine/constraints.py:448
#, python-format
msgid "Value must match pattern: %s"
msgstr ""
-#: heat/engine/constraints.py:484
+#: heat/engine/constraints.py:490
#, python-format
msgid "Value must be of type %s"
msgstr ""
-#: heat/engine/constraints.py:490
+#: heat/engine/constraints.py:496
#, python-format
msgid "\"%(value)s\" does not validate %(name)s (constraint not found)"
msgstr ""
-#: heat/engine/constraints.py:497
+#: heat/engine/constraints.py:503
#, python-format
msgid "\"%(value)s\" does not validate %(name)s"
msgstr ""
-#: heat/engine/dependencies.py:26
+#: heat/engine/dependencies.py:24
#, python-format
msgid "Circular Dependency Found: %(cycle)s"
msgstr ""
-#: heat/engine/environment.py:193 heat/engine/environment.py:199
+#: heat/engine/environment.py:192 heat/engine/environment.py:198
#, python-format
msgid "Removing %(item)s from %(path)s"
msgstr ""
-#: heat/engine/environment.py:212
+#: heat/engine/environment.py:211
#, python-format
msgid "Changing %(path)s from %(was)s to %(now)s"
msgstr ""
-#: heat/engine/environment.py:214
+#: heat/engine/environment.py:213
#, python-format
msgid "Registering %(path)s -> %(value)s"
msgstr ""
-#: heat/engine/environment.py:285 heat/tests/test_resource.py:85
+#: heat/engine/environment.py:284 heat/tests/test_resource.py:85
#, python-format
msgid "Resource \"%s\" has no type"
msgstr ""
-#: heat/engine/environment.py:288 heat/tests/test_resource.py:102
+#: heat/engine/environment.py:287 heat/tests/test_resource.py:102
#, python-format
msgid "Non-empty resource type is required for resource \"%s\""
msgstr ""
-#: heat/engine/environment.py:292 heat/tests/test_resource.py:93
+#: heat/engine/environment.py:291 heat/tests/test_resource.py:93
#, python-format
msgid "Resource \"%s\" type is not a string"
msgstr ""
-#: heat/engine/environment.py:298
+#: heat/engine/environment.py:297
#, python-format
msgid "Unknown resource Type : %s"
msgstr ""
-#: heat/engine/environment.py:401
+#: heat/engine/environment.py:400
#, python-format
msgid "Failed to read %s"
msgstr ""
-#: heat/engine/environment.py:408
+#: heat/engine/environment.py:407
#, python-format
msgid "Loading %s"
msgstr ""
-#: heat/engine/environment.py:413
+#: heat/engine/environment.py:412
#, python-format
msgid "Failed to parse %(file_path)s"
msgstr ""
-#: heat/engine/environment.py:417
+#: heat/engine/environment.py:416
#, python-format
msgid "Failed to read %(file_path)s"
msgstr ""
-#: heat/engine/event.py:59
+#: heat/engine/event.py:60
#, python-format
msgid "No event exists with id \"%s\""
msgstr ""
-#: heat/engine/event.py:90
+#: heat/engine/event.py:91
msgid "Duplicating event"
msgstr ""
-#: heat/engine/parameter_groups.py:42
+#: heat/engine/parameter_groups.py:43
msgid "Validating Parameter Groups."
msgstr ""
-#: heat/engine/parameter_groups.py:51 heat/tests/test_validate.py:1195
+#: heat/engine/parameter_groups.py:52 heat/tests/test_validate.py:1398
msgid "Parameters must be provided for each Parameter Group."
msgstr ""
-#: heat/engine/parameter_groups.py:58
+#: heat/engine/parameter_groups.py:59
#, python-format
msgid "The %s parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/engine/parameter_groups.py:66
+#: heat/engine/parameter_groups.py:67
#, python-format
msgid "The Parameter name (%s) does not reference an existing parameter."
msgstr ""
-#: heat/engine/parameters.py:77
+#: heat/engine/parameters.py:78
#, python-format
msgid "Default must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:103
+#: heat/engine/parameters.py:105
#, python-format
msgid "Invalid %s, expected a mapping"
msgstr ""
-#: heat/engine/parameters.py:107
+#: heat/engine/parameters.py:109
#, python-format
msgid "Invalid key '%(key)s' for %(entity)s"
msgstr ""
-#: heat/engine/parameters.py:115
-msgid "Missing parameter type"
+#: heat/engine/parameters.py:120
+#, python-format
+msgid "Missing parameter type for parameter: %s"
msgstr ""
-#: heat/engine/parameters.py:185
+#: heat/engine/parameters.py:194
#, python-format
msgid "Invalid Parameter type \"%s\""
msgstr ""
-#: heat/engine/parameters.py:214
+#: heat/engine/parameters.py:223
#, python-format
msgid "Missing parameter %s"
msgstr ""
-#: heat/engine/parameters.py:293
+#: heat/engine/parameters.py:302
#, python-format
msgid "Value must be a comma-delimited list string: %s"
msgstr ""
-#: heat/engine/parameters.py:329
+#: heat/engine/parameters.py:338
#, python-format
msgid "Value must be valid JSON: %s"
msgstr ""
-#: heat/engine/parameters.py:445 heat/engine/hot/parameters.py:135
+#: heat/engine/parameters.py:454 heat/engine/hot/parameters.py:138
msgid "Stack ID"
-msgstr ""
+msgstr "機櫃識別號"
-#: heat/engine/parameters.py:449 heat/engine/hot/parameters.py:140
+#: heat/engine/parameters.py:458 heat/engine/hot/parameters.py:143
msgid "Stack Name"
-msgstr ""
+msgstr "機櫃名稱"
-#: heat/engine/parser.py:73
+#: heat/engine/parser.py:70
#, python-format
msgid ""
"Invalid stack name %s must contain only alphanumeric or \"_-.\" "
"characters, must start with alpha"
msgstr ""
-#: heat/engine/parser.py:166
+#: heat/engine/parser.py:163
msgid "Unable to set parameters StackId identifier"
msgstr ""
-#: heat/engine/parser.py:185
+#: heat/engine/parser.py:182
#, python-format
msgid "No stack exists with id \"%s\""
msgstr ""
@@ -1380,237 +1382,241 @@ msgstr ""
msgid "Duplicate names %s"
msgstr ""
-#: heat/engine/parser.py:375 heat/engine/resource.py:813
+#: heat/engine/parser.py:383 heat/engine/resource.py:807
#, python-format
msgid "Invalid action %s"
msgstr ""
-#: heat/engine/parser.py:378 heat/engine/resource.py:816
+#: heat/engine/parser.py:386 heat/engine/resource.py:810
#, python-format
msgid "Invalid status %s"
msgstr ""
-#: heat/engine/parser.py:488
+#: heat/engine/parser.py:495
msgid "Loaded existing backup stack"
msgstr ""
-#: heat/engine/parser.py:496
+#: heat/engine/parser.py:503
msgid "Created new backup stack"
msgstr ""
-#: heat/engine/parser.py:536
+#: heat/engine/parser.py:543
#, python-format
msgid "Unexpected action %s passed to update!"
msgstr ""
-#: heat/engine/parser.py:545
+#: heat/engine/parser.py:552
#, python-format
msgid "Starting update rollback for %s"
msgstr ""
-#: heat/engine/parser.py:595
+#: heat/engine/parser.py:603
msgid "Deleting backup stack"
msgstr ""
-#: heat/engine/parser.py:618
+#: heat/engine/parser.py:632
#, python-format
msgid "Unexpected action %s passed to delete!"
msgstr ""
-#: heat/engine/parser.py:698
+#: heat/engine/parser.py:712
#, python-format
msgid "%s is already suspended"
msgstr ""
-#: heat/engine/parser.py:717
+#: heat/engine/parser.py:731
#, python-format
msgid "%s is already resumed"
msgstr ""
-#: heat/engine/parser.py:745
+#: heat/engine/parser.py:762
#, python-format
msgid "delete: %s"
msgstr ""
-#: heat/engine/parser.py:753
+#: heat/engine/parser.py:770
msgid "create"
msgstr ""
-#: heat/engine/plugin_manager.py:97
+#: heat/engine/plugin_manager.py:96
#, python-format
msgid "Failed to load %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/plugin_manager.py:104
+#: heat/engine/plugin_manager.py:103
#, python-format
msgid "Invalid type for %(mapping_name)s from %(module)s"
msgstr ""
-#: heat/engine/properties.py:74
+#: heat/engine/properties.py:75
#, python-format
msgid "Unknown key(s) %s"
msgstr ""
-#: heat/engine/properties.py:95
+#: heat/engine/properties.py:96
#, python-format
msgid "No %s specified"
msgstr ""
-#: heat/engine/properties.py:104
+#: heat/engine/properties.py:105
#, python-format
msgid "%(schema)s supplied for %(type)s %(data)s"
msgstr ""
-#: heat/engine/properties.py:199
+#: heat/engine/properties.py:200
#, python-format
msgid "Value '%s' is not an integer"
msgstr ""
-#: heat/engine/properties.py:212
+#: heat/engine/properties.py:213
msgid "Value must be a string"
msgstr ""
-#: heat/engine/properties.py:232
+#: heat/engine/properties.py:233
#, python-format
msgid "\"%s\" is not a map"
msgstr ""
-#: heat/engine/properties.py:241
+#: heat/engine/properties.py:242
#, python-format
msgid "\"%s\" is not a list"
msgstr ""
-#: heat/engine/properties.py:253
+#: heat/engine/properties.py:254
#, python-format
msgid "\"%s\" is not a valid boolean"
msgstr ""
-#: heat/engine/properties.py:312
+#: heat/engine/properties.py:313
#, python-format
msgid "Property error : %s"
msgstr ""
-#: heat/engine/properties.py:317
+#: heat/engine/properties.py:318
#, python-format
msgid "Property %s not implemented yet"
msgstr ""
-#: heat/engine/properties.py:322
+#: heat/engine/properties.py:323
#, python-format
msgid "Unknown Property %s"
msgstr ""
-#: heat/engine/properties.py:327
+#: heat/engine/properties.py:328
#, python-format
msgid "%(prefix)sInvalid Property %(key)s"
msgstr ""
-#: heat/engine/properties.py:343
+#: heat/engine/properties.py:345
#, python-format
msgid "%(prefix)sProperty %(key)s not assigned"
msgstr ""
-#: heat/engine/resource.py:58 heat/engine/resource.py:61
+#: heat/engine/resource.py:60
#, python-format
msgid "The Resource %s requires replacement."
msgstr ""
-#: heat/engine/resource.py:433
+#: heat/engine/resource.py:422
msgid "Error marking resource as failed"
msgstr ""
-#: heat/engine/resource.py:452
+#: heat/engine/resource.py:441
#, python-format
msgid "State %s invalid for create"
msgstr ""
-#: heat/engine/resource.py:490
+#: heat/engine/resource.py:479
msgid "Resource ID was not provided."
msgstr ""
-#: heat/engine/resource.py:536
+#: heat/engine/resource.py:525
msgid "Resource update already requested"
msgstr ""
-#: heat/engine/resource.py:560
+#: heat/engine/resource.py:555
#, python-format
msgid "Resource %s update requires replacement"
msgstr ""
-#: heat/engine/resource.py:581
+#: heat/engine/resource.py:558
+#, python-format
+msgid "update %(resource)s : %(err)s"
+msgstr ""
+
+#: heat/engine/resource.py:577
#, python-format
msgid "State %s invalid for suspend"
msgstr ""
-#: heat/engine/resource.py:585
+#: heat/engine/resource.py:581
#, python-format
msgid "suspending %s"
msgstr ""
-#: heat/engine/resource.py:597
+#: heat/engine/resource.py:593
#, python-format
msgid "State %s invalid for resume"
msgstr ""
-#: heat/engine/resource.py:601
+#: heat/engine/resource.py:597
#, python-format
msgid "resuming %s"
msgstr ""
-#: heat/engine/resource.py:637
+#: heat/engine/resource.py:633
msgid "limit cannot be less than 4"
msgstr ""
-#: heat/engine/resource.py:643
+#: heat/engine/resource.py:639
#, python-format
msgid "Validating %s"
msgstr ""
-#: heat/engine/resource.py:652
+#: heat/engine/resource.py:649
#, python-format
msgid "Invalid DeletionPolicy %s"
msgstr ""
-#: heat/engine/resource.py:656
+#: heat/engine/resource.py:653
msgid "Snapshot DeletionPolicy not supported"
msgstr ""
-#: heat/engine/resource.py:674
+#: heat/engine/resource.py:671
#, python-format
msgid "deleting %s"
msgstr ""
-#: heat/engine/resource.py:696
+#: heat/engine/resource.py:693
#, python-format
msgid "Delete %s"
-msgstr ""
+msgstr "刪除 %s"
-#: heat/engine/resource.py:706
+#: heat/engine/resource.py:703
msgid "Error marking resource deletion failed"
msgstr ""
-#: heat/engine/resource.py:737
+#: heat/engine/resource.py:734
#, python-format
msgid "db error %s"
msgstr ""
-#: heat/engine/resource.py:756 heat/engine/resource.py:767
-#: heat/engine/resource.py:784
+#: heat/engine/resource.py:753 heat/engine/resource.py:778
#, python-format
msgid "DB error %s"
msgstr ""
-#: heat/engine/resource.py:888
+#: heat/engine/resource.py:882
#, python-format
msgid "Resource %s is not able to receive a signal"
msgstr ""
-#: heat/engine/resource.py:895
+#: heat/engine/resource.py:889
#, python-format
msgid "signal %(name)s : %(msg)s"
msgstr ""
-#: heat/engine/resource.py:908
+#: heat/engine/resource.py:902
#, python-format
msgid "Resource %s does not implement metadata update"
msgstr ""
@@ -1620,148 +1626,148 @@ msgstr ""
msgid "%s Timed out"
msgstr ""
-#: heat/engine/scheduler.py:130
+#: heat/engine/scheduler.py:131
#, python-format
msgid "%s sleeping"
msgstr ""
-#: heat/engine/scheduler.py:153
+#: heat/engine/scheduler.py:154
#, python-format
msgid "%s starting"
msgstr ""
-#: heat/engine/scheduler.py:165
+#: heat/engine/scheduler.py:166
#, python-format
msgid "%s done (not resumable)"
msgstr ""
-#: heat/engine/scheduler.py:176
+#: heat/engine/scheduler.py:177
#, python-format
msgid "%s timed out"
msgstr ""
-#: heat/engine/scheduler.py:186
+#: heat/engine/scheduler.py:187
#, python-format
msgid "%s running"
msgstr ""
-#: heat/engine/scheduler.py:192
+#: heat/engine/scheduler.py:193
#, python-format
msgid "%s complete"
msgstr ""
-#: heat/engine/scheduler.py:209
+#: heat/engine/scheduler.py:210
#, python-format
msgid "%s cancelled"
msgstr ""
-#: heat/engine/service.py:197
+#: heat/engine/service.py:196
#, python-format
msgid "Periodic watcher task for stack %s"
msgstr ""
-#: heat/engine/service.py:201
+#: heat/engine/service.py:200
#, python-format
msgid "Unable to retrieve stack %s for periodic task"
msgstr ""
-#: heat/engine/service.py:215
+#: heat/engine/service.py:214
#, python-format
-msgid "periodic_task db error (%(msg)s) %(ex)s"
+msgid "periodic_task db error watch rule removed? %(ex)s"
msgstr ""
-#: heat/engine/service.py:289
+#: heat/engine/service.py:288
#, python-format
msgid "Starting listener for engine %s"
msgstr ""
-#: heat/engine/service.py:439
+#: heat/engine/service.py:438
#, python-format
msgid ""
"You have reached the maximum stacks per tenant, %d. Please delete some "
"stacks."
msgstr ""
-#: heat/engine/service.py:464
+#: heat/engine/service.py:463
#, python-format
msgid "previewing stack %s"
msgstr ""
-#: heat/engine/service.py:492 heat/engine/service.py:545
+#: heat/engine/service.py:491 heat/engine/service.py:544
#, python-format
msgid "template is %s"
msgstr ""
-#: heat/engine/service.py:506
+#: heat/engine/service.py:505
#, python-format
msgid "Stack create failed, status %s"
msgstr ""
-#: heat/engine/service.py:553
+#: heat/engine/service.py:552
msgid "Updating a stack when it is suspended"
msgstr ""
-#: heat/engine/service.py:557
+#: heat/engine/service.py:556
msgid "Updating a stack when another action is in progress"
msgstr ""
-#: heat/engine/service.py:592
+#: heat/engine/service.py:594
msgid "validate_template"
msgstr ""
-#: heat/engine/service.py:594
+#: heat/engine/service.py:596
msgid "No Template provided."
msgstr ""
-#: heat/engine/service.py:687
+#: heat/engine/service.py:684
#, python-format
msgid "Deleting stack %s"
msgstr ""
-#: heat/engine/service.py:707
+#: heat/engine/service.py:704
#, python-format
msgid "Successfully stopped remote task on engine %s"
msgstr ""
-#: heat/engine/service.py:739
+#: heat/engine/service.py:736
#, python-format
msgid "abandoning stack %s"
msgstr ""
-#: heat/engine/service.py:854
+#: heat/engine/service.py:870
#, python-format
msgid "Access denied to resource %s"
msgstr ""
-#: heat/engine/service.py:935
+#: heat/engine/service.py:951
#, python-format
msgid "suspending stack %s"
msgstr ""
-#: heat/engine/service.py:950
+#: heat/engine/service.py:966
#, python-format
msgid "resuming stack %s"
msgstr ""
-#: heat/engine/service.py:1033
+#: heat/engine/service.py:1049
#, python-format
msgid "show_watch (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1056
+#: heat/engine/service.py:1072
msgid "Filtering by namespace/metric not yet supported"
msgstr ""
-#: heat/engine/service.py:1062
+#: heat/engine/service.py:1078
#, python-format
msgid "show_metric (all) db error %s"
msgstr ""
-#: heat/engine/service.py:1124
+#: heat/engine/service.py:1140
msgid "server_id must be specified"
msgstr ""
-#: heat/engine/signal_responder.py:79
+#: heat/engine/signal_responder.py:76
msgid "Cannot generate signed url, no stored access/secret key"
msgstr ""
@@ -1811,89 +1817,109 @@ msgstr ""
msgid "Engine %(engine)s released lock on stack %(stack)s"
msgstr ""
-#: heat/engine/stack_resource.py:70
+#: heat/engine/stack_resource.py:68
msgid "Nested stack not found in DB"
msgstr ""
-#: heat/engine/stack_resource.py:107
+#: heat/engine/stack_resource.py:105
#, python-format
msgid "Preview of '%s' not yet implemented"
msgstr ""
-#: heat/engine/stack_resource.py:136
+#: heat/engine/stack_resource.py:134
#, python-format
msgid "Recursion depth exceeds %d."
msgstr ""
-#: heat/engine/stack_resource.py:188
+#: heat/engine/stack_resource.py:189
#, python-format
msgid "Cannot update %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:228
+#: heat/engine/stack_resource.py:232
#, python-format
msgid "Nested stack UPDATE failed: %s"
msgstr ""
-#: heat/engine/stack_resource.py:239
+#: heat/engine/stack_resource.py:243
msgid "Stack not found to delete"
msgstr ""
-#: heat/engine/stack_resource.py:262
+#: heat/engine/stack_resource.py:266
#, python-format
msgid "Cannot suspend %s, stack not created"
msgstr ""
-#: heat/engine/stack_resource.py:284
+#: heat/engine/stack_resource.py:288
#, python-format
msgid "Cannot resume %s, stack not created"
msgstr ""
-#: heat/engine/stack_user.py:86
+#: heat/engine/stack_user.py:84
msgid "Reverting to legacy user delete path"
msgstr ""
-#: heat/engine/stack_user.py:123
+#: heat/engine/stack_user.py:121
#, python-format
msgid "Error creating ec2 keypair for user %s"
msgstr ""
-#: heat/engine/support.py:29
+#: heat/engine/support.py:28
#, python-format
msgid "Specified status is invalid, defaulting to %s"
msgstr ""
-#: heat/engine/template.py:67
+#: heat/engine/template.py:68
#, python-format
msgid "Ambiguous versions (%s)"
msgstr ""
-#: heat/engine/template.py:88
+#: heat/engine/template.py:94
#, python-format
-msgid "Unknown version (%(version)s). Should be one of: %(available)s"
+msgid "\"%(version)s\". \"%(version_type)s\" should be one of: %(available)s"
msgstr ""
-#: heat/engine/update.py:82
+#: heat/engine/template.py:97
+#, python-format
+msgid "\"%(version)s\". \"%(version_type)s\" should be: %(available)s"
+msgstr ""
+
+#: heat/engine/template.py:195
+msgid ""
+"Template does not contain any resources, so the template would not really"
+" do anything when being instantiated."
+msgstr ""
+
+#: heat/engine/template.py:202
+msgid "Every Resource object must contain a Type member."
+msgstr ""
+
+#: heat/engine/template.py:209
+#, 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:106
+#: heat/engine/update.py:103
#, python-format
msgid "Swapping in backup Resource %s"
msgstr ""
-#: heat/engine/update.py:112
+#: heat/engine/update.py:109
#, python-format
msgid "Deleting backup Resource %s"
msgstr ""
-#: heat/engine/update.py:117
+#: heat/engine/update.py:114
#, python-format
msgid "Backing up existing Resource %s"
msgstr ""
-#: heat/engine/update.py:137
+#: heat/engine/update.py:134
#, python-format
msgid "Resource %(res_name)s for stack %(stack_name)s updated"
msgstr ""
@@ -1968,569 +1994,565 @@ msgstr ""
msgid "Arguments to \"%s\" must be of the form [resource_name, attribute]"
msgstr ""
-#: heat/engine/cfn/functions.py:196
+#: heat/engine/cfn/functions.py:197
#, python-format
msgid "Arguments to \"%s\" must be of the form [index, collection]"
msgstr ""
-#: heat/engine/cfn/functions.py:222
+#: heat/engine/cfn/functions.py:223
#, python-format
msgid "\"%(fn_name)s\": %(err)s"
msgstr ""
-#: heat/engine/cfn/functions.py:226
+#: heat/engine/cfn/functions.py:227
#, python-format
msgid "Index to \"%s\" must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:233
+#: heat/engine/cfn/functions.py:234
#, python-format
msgid "Index to \"%s\" must be an integer"
msgstr ""
-#: heat/engine/cfn/functions.py:244
+#: heat/engine/cfn/functions.py:245
#, python-format
msgid "Arguments to %s not fully resolved"
msgstr ""
-#: heat/engine/cfn/functions.py:269 heat/engine/cfn/functions.py:275
-#: heat/engine/cfn/functions.py:320 heat/engine/cfn/functions.py:326
-#: heat/engine/cfn/functions.py:379 heat/engine/cfn/functions.py:385
+#: 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
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be: %(example)s"
msgstr ""
-#: heat/engine/cfn/functions.py:282
+#: heat/engine/cfn/functions.py:283
#, python-format
msgid "\"%s\" must operate on a list"
msgstr ""
-#: heat/engine/cfn/functions.py:286
+#: heat/engine/cfn/functions.py:287
#, python-format
msgid "\"%s\" delimiter must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:293
+#: heat/engine/cfn/functions.py:294
msgid "Items to join must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:333
+#: heat/engine/cfn/functions.py:334
#, python-format
msgid "Delimiter for %s must be string"
msgstr ""
-#: heat/engine/cfn/functions.py:336
+#: heat/engine/cfn/functions.py:337
#, python-format
msgid "String to split must be string; got %s"
msgstr ""
-#: heat/engine/cfn/functions.py:367
+#: heat/engine/cfn/functions.py:368
#, python-format
msgid "\"%s\" parameters must be a mapping"
msgstr ""
-#: heat/engine/cfn/functions.py:395
+#: heat/engine/cfn/functions.py:396
#, python-format
msgid "\"%s\" template must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:398
+#: heat/engine/cfn/functions.py:399
#, python-format
msgid "\"%s\" params must be a map"
msgstr ""
-#: heat/engine/cfn/functions.py:404
+#: heat/engine/cfn/functions.py:405
#, python-format
msgid "\"%s\" param placeholders must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:411
+#: heat/engine/cfn/functions.py:412
#, python-format
msgid "\"%s\" params must be strings or numbers"
msgstr ""
-#: heat/engine/cfn/functions.py:435
+#: heat/engine/cfn/functions.py:436
#, python-format
msgid "\"%s\" argument must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:470
+#: heat/engine/cfn/functions.py:471
#, python-format
msgid "Wrong Arguments try: \"%s\""
msgstr ""
-#: heat/engine/cfn/functions.py:473
+#: heat/engine/cfn/functions.py:474
#, python-format
msgid "%s Key Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:476
+#: heat/engine/cfn/functions.py:477
#, python-format
msgid "%s Value Name must be a string"
msgstr ""
-#: heat/engine/cfn/functions.py:482
+#: heat/engine/cfn/functions.py:483
msgid "Member list must be a list"
msgstr ""
-#: heat/engine/cfn/functions.py:486
+#: heat/engine/cfn/functions.py:487
msgid "Member list items must be strings"
msgstr ""
-#: heat/engine/cfn/functions.py:521
+#: heat/engine/cfn/functions.py:522
#, python-format
msgid "Incorrect arguments to \"%(fn_name)s\" should be one of: %(allowed)s"
msgstr ""
-#: heat/engine/cfn/functions.py:538
-#, python-format
-msgid "\"%(fn_name)s\" key \"%(key)s\" not found"
-msgstr ""
-
-#: heat/engine/cfn/template.py:32 heat/engine/hot/template.py:49
-#: heat/engine/hot/template.py:53
+#: heat/engine/cfn/template.py:33 heat/engine/hot/template.py:48
+#: heat/engine/hot/template.py:52
#, python-format
msgid "\"%s\" is not a valid template section"
msgstr ""
-#: heat/engine/cfn/template.py:35 heat/engine/hot/template.py:56
+#: heat/engine/cfn/template.py:36 heat/engine/hot/template.py:55
#, python-format
msgid "Section %s can not be accessed directly."
msgstr ""
-#: heat/engine/hot/functions.py:47
+#: heat/engine/hot/functions.py:46
#, python-format
msgid "Function \"%s\" must have arguments"
msgstr ""
-#: heat/engine/hot/functions.py:57
+#: heat/engine/hot/functions.py:56
#, python-format
msgid "Argument to \"%s\" must be string or list"
msgstr ""
-#: heat/engine/hot/functions.py:61
+#: heat/engine/hot/functions.py:60
#, python-format
msgid "Parameter name in \"%s\" must be string"
msgstr ""
-#: heat/engine/hot/functions.py:72 heat/engine/hot/functions.py:124
+#: heat/engine/hot/functions.py:71 heat/engine/hot/functions.py:123
#, python-format
msgid "\"%s\" can't traverse path"
msgstr ""
-#: heat/engine/hot/functions.py:75 heat/engine/hot/functions.py:127
+#: heat/engine/hot/functions.py:74 heat/engine/hot/functions.py:126
#, python-format
msgid "Path components in \"%s\" must be strings"
msgstr ""
-#: heat/engine/hot/functions.py:102
+#: heat/engine/hot/functions.py:101
#, python-format
msgid "Argument to \"%s\" must be a list"
msgstr ""
-#: heat/engine/hot/functions.py:106
+#: heat/engine/hot/functions.py:105
#, python-format
msgid ""
"Arguments to \"%s\" must be of the form [resource_name, attribute, "
"(path), ...]"
msgstr ""
-#: heat/engine/hot/functions.py:161
+#: heat/engine/hot/functions.py:160
#, python-format
msgid "Arguments to \"%s\" must be a map"
msgstr ""
-#: heat/engine/hot/functions.py:173
+#: heat/engine/hot/functions.py:172
#, python-format
msgid "\"str_replace\" syntax should be %s"
msgstr ""
-#: heat/engine/hot/functions.py:194
+#: heat/engine/hot/functions.py:193
#, python-format
msgid "Argument to \"%s\" must be a string"
msgstr ""
-#: heat/engine/hot/functions.py:201
+#: heat/engine/hot/functions.py:200
#, python-format
msgid ""
"No content found in the \"files\" section for %(fn_name)s path: "
"%(file_key)s"
msgstr ""
-#: heat/engine/hot/parameters.py:68
-msgid "Invalid parameter constraints, expected a list"
+#: heat/engine/hot/parameters.py:70
+#, python-format
+msgid "Invalid parameter constraints for parameter %s, expected a list"
msgstr ""
-#: heat/engine/hot/parameters.py:100
+#: heat/engine/hot/parameters.py:103
msgid "No constraint expressed"
msgstr ""
-#: heat/engine/hot/template.py:107
+#: heat/engine/hot/template.py:106
#, python-format
msgid "\"%s\" is not a valid keyword inside a resource definition"
msgstr ""
-#: heat/engine/hot/template.py:127
+#: heat/engine/hot/template.py:126
#, python-format
msgid "\"%s\" is not a valid keyword inside an output definition"
msgstr ""
-#: heat/engine/resources/autoscaling.py:103
-#: heat/engine/resources/autoscaling.py:462
-#: heat/engine/resources/autoscaling.py:495
-#: heat/engine/resources/autoscaling.py:500
-#: heat/engine/resources/autoscaling.py:783
-#: heat/engine/resources/autoscaling.py:788
-#: heat/engine/resources/autoscaling.py:793
+#: 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:310
-#: heat/engine/resources/loadbalancer.py:315
-#: heat/engine/resources/loadbalancer.py:324
-#: heat/engine/resources/loadbalancer.py:329
-#: heat/engine/resources/loadbalancer.py:334
-#: heat/engine/resources/loadbalancer.py:339 heat/engine/resources/user.py:48
-#: heat/engine/resources/user.py:52 heat/engine/resources/user.py:139
-#: heat/engine/resources/user.py:149
+#: 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
msgid "Not Implemented."
msgstr ""
-#: heat/engine/resources/autoscaling.py:108
-#: heat/engine/resources/autoscaling.py:467
+#: heat/engine/resources/autoscaling.py:109
+#: heat/engine/resources/autoscaling.py:468
msgid "Name of LaunchConfiguration resource."
msgstr ""
-#: heat/engine/resources/autoscaling.py:114
+#: heat/engine/resources/autoscaling.py:115
msgid "Desired number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:120
-#: heat/engine/resources/autoscaling.py:508
+#: heat/engine/resources/autoscaling.py:121
+#: heat/engine/resources/autoscaling.py:509
msgid "List of LoadBalancer resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:124
-#: heat/engine/resources/autoscaling.py:516
+#: heat/engine/resources/autoscaling.py:125
+#: heat/engine/resources/autoscaling.py:517
msgid "Tags to attach to this group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:144
+#: heat/engine/resources/autoscaling.py:145
msgid "A comma-delimited list of server ip addresses. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:403
+#: heat/engine/resources/autoscaling.py:404
#, python-format
msgid "Unsupported resource '%s' in LoadBalancerNames"
msgstr ""
-#: heat/engine/resources/autoscaling.py:473
+#: heat/engine/resources/autoscaling.py:474
msgid "Maximum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:479
+#: heat/engine/resources/autoscaling.py:480
msgid "Minimum number of instances in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:485
-#: heat/engine/resources/autoscaling.py:853
-#: heat/engine/resources/autoscaling.py:954
-#: heat/engine/resources/autoscaling.py:1094
+#: heat/engine/resources/autoscaling.py:486
+#: heat/engine/resources/autoscaling.py:854
+#: heat/engine/resources/autoscaling.py:955
+#: heat/engine/resources/autoscaling.py:1095
msgid "Cooldown period, in seconds."
msgstr ""
-#: heat/engine/resources/autoscaling.py:490
+#: heat/engine/resources/autoscaling.py:491
msgid "Desired initial number of instances."
msgstr ""
-#: heat/engine/resources/autoscaling.py:512
+#: heat/engine/resources/autoscaling.py:513
msgid "List of VPC subnet identifiers."
msgstr ""
-#: heat/engine/resources/autoscaling.py:620
+#: heat/engine/resources/autoscaling.py:621
#, python-format
msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:647
+#: heat/engine/resources/autoscaling.py:648
#, python-format
msgid "truncating growth to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:650
+#: heat/engine/resources/autoscaling.py:651
#, python-format
msgid "can not exceed %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:654
+#: heat/engine/resources/autoscaling.py:655
#, python-format
msgid "truncating shrinkage to %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:657
+#: heat/engine/resources/autoscaling.py:658
#, python-format
msgid "can not be less than %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:661
+#: heat/engine/resources/autoscaling.py:662
#, python-format
msgid "no change in capacity %d"
msgstr ""
-#: heat/engine/resources/autoscaling.py:671
+#: heat/engine/resources/autoscaling.py:672
#, python-format
msgid "Start resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:686
+#: heat/engine/resources/autoscaling.py:687
msgid "Failed sending error notification"
msgstr ""
-#: heat/engine/resources/autoscaling.py:691
+#: heat/engine/resources/autoscaling.py:692
#, python-format
msgid "End resizing the group %(group)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:719
+#: heat/engine/resources/autoscaling.py:720
msgid "MinSize can not be greater than MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:723
+#: heat/engine/resources/autoscaling.py:724
msgid "The size of AutoScalingGroup can not be less than zero"
msgstr ""
-#: heat/engine/resources/autoscaling.py:729
+#: heat/engine/resources/autoscaling.py:730
msgid "DesiredCapacity must be between MinSize and MaxSize"
msgstr ""
-#: heat/engine/resources/autoscaling.py:738
+#: heat/engine/resources/autoscaling.py:739
msgid "Anything other than one VPCZoneIdentifier"
msgstr ""
-#: heat/engine/resources/autoscaling.py:761
+#: heat/engine/resources/autoscaling.py:762
#: heat/engine/resources/instance.py:146
msgid "Glance image ID or name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:766
+#: heat/engine/resources/autoscaling.py:767
#: heat/engine/resources/instance.py:156
msgid "Nova instance type (flavor)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:771
+#: heat/engine/resources/autoscaling.py:772
#: heat/engine/resources/instance.py:162
msgid "Optional Nova keypair name."
msgstr ""
-#: heat/engine/resources/autoscaling.py:775
+#: heat/engine/resources/autoscaling.py:776
#: heat/engine/resources/instance.py:267
msgid "User data to pass to instance."
msgstr ""
-#: heat/engine/resources/autoscaling.py:779
+#: heat/engine/resources/autoscaling.py:780
#: heat/engine/resources/instance.py:203
msgid "Security group names to assign."
msgstr ""
-#: heat/engine/resources/autoscaling.py:798
+#: heat/engine/resources/autoscaling.py:799
#: heat/engine/resources/instance.py:242
msgid "Scheduler hints to pass to Nova (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:831
+#: heat/engine/resources/autoscaling.py:832
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:839
+#: heat/engine/resources/autoscaling.py:840
msgid "Maximum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:846
+#: heat/engine/resources/autoscaling.py:847
msgid "Minimum number of resources in the group."
msgstr ""
-#: heat/engine/resources/autoscaling.py:858
+#: heat/engine/resources/autoscaling.py:859
msgid "Desired initial number of resources."
msgstr ""
-#: heat/engine/resources/autoscaling.py:932
+#: heat/engine/resources/autoscaling.py:933
msgid "AutoScaling group name to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:937
-#: heat/engine/resources/autoscaling.py:1077
+#: heat/engine/resources/autoscaling.py:938
+#: heat/engine/resources/autoscaling.py:1078
msgid "Size of adjustment."
msgstr ""
-#: heat/engine/resources/autoscaling.py:943
-#: heat/engine/resources/autoscaling.py:1083
+#: heat/engine/resources/autoscaling.py:944
+#: heat/engine/resources/autoscaling.py:1084
msgid "Type of adjustment (absolute or percentage)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:962
+#: heat/engine/resources/autoscaling.py:963
msgid "A signed url to handle the alarm. (Heat extension)."
msgstr ""
-#: heat/engine/resources/autoscaling.py:987
+#: heat/engine/resources/autoscaling.py:988
#: heat/engine/resources/instance.py:72 heat/tests/generic_resource.py:115
#, python-format
msgid "Cannot signal resource during %s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1004
+#: heat/engine/resources/autoscaling.py:1005
#: heat/engine/resources/instance.py:80
#, python-format
msgid "%(name)s Alarm, new state %(state)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1010
+#: heat/engine/resources/autoscaling.py:1011
#, python-format
msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1019
+#: heat/engine/resources/autoscaling.py:1020
#, python-format
msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\""
msgstr ""
-#: heat/engine/resources/autoscaling.py:1024
+#: heat/engine/resources/autoscaling.py:1025
#, python-format
msgid ""
"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by "
"%(filter)s"
msgstr ""
-#: heat/engine/resources/autoscaling.py:1072
+#: heat/engine/resources/autoscaling.py:1073
msgid "AutoScaling group ID to apply policy to."
msgstr ""
-#: heat/engine/resources/autoscaling.py:1102
+#: heat/engine/resources/autoscaling.py:1103
msgid "A signed url to handle the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:42
+#: heat/engine/resources/cloud_watch.py:41
msgid "Operator used to compare the specified Statistic with Threshold."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:54
-#: heat/engine/resources/ceilometer/alarm.py:34
+#: heat/engine/resources/cloud_watch.py:53
+#: heat/engine/resources/ceilometer/alarm.py:33
msgid "Description for the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:59
-#: heat/engine/resources/ceilometer/alarm.py:116
+#: heat/engine/resources/cloud_watch.py:58
+#: heat/engine/resources/ceilometer/alarm.py:115
msgid "Number of periods to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:64
+#: heat/engine/resources/cloud_watch.py:63
msgid "Metric name watched by the alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:68
+#: heat/engine/resources/cloud_watch.py:67
msgid "Namespace for the metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:72
-#: heat/engine/resources/ceilometer/alarm.py:126
+#: heat/engine/resources/cloud_watch.py:71
+#: heat/engine/resources/ceilometer/alarm.py:125
msgid "Period (seconds) to evaluate over."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:77
+#: heat/engine/resources/cloud_watch.py:76
msgid "Metric statistic to evaluate."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:86
+#: heat/engine/resources/cloud_watch.py:85
msgid "A list of actions to execute when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:91
+#: heat/engine/resources/cloud_watch.py:90
msgid "A list of actions to execute when state transitions to ok."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:96
+#: heat/engine/resources/cloud_watch.py:95
msgid ""
"A list of dimensions (arbitrary name/value pairs) associated with the "
"metric."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:101
+#: heat/engine/resources/cloud_watch.py:100
msgid "A list of actions to execute when state transitions to insufficient-data."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:107
-#: heat/engine/resources/ceilometer/alarm.py:140
+#: heat/engine/resources/cloud_watch.py:106
+#: heat/engine/resources/ceilometer/alarm.py:139
msgid "Threshold to evaluate against."
msgstr ""
-#: heat/engine/resources/cloud_watch.py:112
+#: heat/engine/resources/cloud_watch.py:111
msgid "Unit for the metric."
msgstr ""
-#: heat/engine/resources/eip.py:38
+#: heat/engine/resources/eip.py:37
msgid "Set to \"vpc\" to have IP address allocation associated to your VPC."
msgstr ""
-#: heat/engine/resources/eip.py:46
+#: heat/engine/resources/eip.py:45
msgid "Instance ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:51
+#: heat/engine/resources/eip.py:50
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:68 heat/engine/resources/eip.py:75
+#: heat/engine/resources/eip.py:67 heat/engine/resources/eip.py:74
#, python-format
msgid "Floating IPs not found: %s"
msgstr ""
-#: heat/engine/resources/eip.py:92 heat/engine/resources/eip.py:109
+#: heat/engine/resources/eip.py:91 heat/engine/resources/eip.py:108
#, python-format
msgid "ElasticIp create %s"
msgstr ""
-#: heat/engine/resources/eip.py:95
+#: heat/engine/resources/eip.py:94
#, python-format
msgid "Domain property can not be set on resource %s without Neutron available"
msgstr ""
-#: heat/engine/resources/eip.py:102
+#: heat/engine/resources/eip.py:101
msgid ""
"No default floating IP pool configured. Set 'default_floating_pool' in "
"nova.conf."
msgstr ""
-#: heat/engine/resources/eip.py:159
+#: heat/engine/resources/eip.py:158
msgid "Instance ID to associate with EIP specified by EIP property."
msgstr ""
-#: heat/engine/resources/eip.py:163
+#: heat/engine/resources/eip.py:162
msgid "EIP address to associate with instance."
msgstr ""
-#: heat/engine/resources/eip.py:167
+#: heat/engine/resources/eip.py:166
msgid "Allocation ID for VPC EIP address."
msgstr ""
-#: heat/engine/resources/eip.py:171
+#: heat/engine/resources/eip.py:170
msgid "Network interface ID to associate with EIP."
msgstr ""
-#: heat/engine/resources/eip.py:188
+#: heat/engine/resources/eip.py:187
msgid "Skipping association, InstanceId not specified"
msgstr ""
-#: heat/engine/resources/eip.py:194
+#: heat/engine/resources/eip.py:193
#, python-format
msgid "ElasticIpAssociation %(instance)s.add_floating_ip(%(eip)s)"
msgstr ""
-#: heat/engine/resources/eip.py:211
+#: heat/engine/resources/eip.py:210
msgid "Skipping association, resource not specified"
msgstr ""
@@ -2576,15 +2598,15 @@ msgstr ""
msgid "Volumes to attach to instance."
msgstr ""
-#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:318
+#: heat/engine/resources/instance.py:278 heat/engine/resources/volume.py:338
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:313
-#: heat/engine/resources/volume.py:490
+#: heat/engine/resources/instance.py:287 heat/engine/resources/volume.py:332
+#: heat/engine/resources/volume.py:547
msgid "The ID of the volume to be attached."
msgstr ""
@@ -2613,441 +2635,441 @@ msgstr ""
msgid "%(name)s._resolve_attribute(%(attname)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/instance.py:503
+#: heat/engine/resources/instance.py:511
#, python-format
msgid "Creation of server %(server)s failed: %(message)s (%(code)s)"
msgstr ""
-#: heat/engine/resources/instance.py:510 heat/engine/resources/server.py:559
+#: heat/engine/resources/instance.py:518 heat/engine/resources/server.py:562
#, python-format
msgid "Creation of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/instance.py:590
+#: heat/engine/resources/instance.py:598
#, python-format
msgid "Deletion of server %s failed."
msgstr ""
-#: heat/engine/resources/instance.py:638 heat/engine/resources/server.py:951
+#: heat/engine/resources/instance.py:646 heat/engine/resources/server.py:985
#, python-format
msgid "Cannot suspend %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:644 heat/engine/resources/instance.py:700
+#: heat/engine/resources/instance.py:652 heat/engine/resources/instance.py:708
#, python-format
msgid "Failed to find instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:647
+#: heat/engine/resources/instance.py:655
#, python-format
msgid "suspending instance %s"
msgstr ""
-#: heat/engine/resources/instance.py:669 heat/engine/resources/server.py:977
+#: 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:677
+#: heat/engine/resources/instance.py:685
#, python-format
msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/instance.py:694 heat/engine/resources/server.py:997
+#: heat/engine/resources/instance.py:702 heat/engine/resources/server.py:1031
#, python-format
msgid "Cannot resume %s, resource_id not set"
msgstr ""
-#: heat/engine/resources/instance.py:703
+#: heat/engine/resources/instance.py:711
#, python-format
msgid "resuming instance %s"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:75
+#: heat/engine/resources/internet_gateway.py:74
#, python-format
msgid "Expected 1 external network, found %d"
msgstr ""
-#: heat/engine/resources/internet_gateway.py:91
+#: heat/engine/resources/internet_gateway.py:90
msgid "VPC ID for this gateway association."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:96
+#: heat/engine/resources/internet_gateway.py:95
msgid "ID of the InternetGateway."
msgstr ""
-#: heat/engine/resources/internet_gateway.py:100
+#: heat/engine/resources/internet_gateway.py:99
msgid "ID of the VPNGateway to attach to the VPC."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:239
+#: heat/engine/resources/loadbalancer.py:238
msgid "The Availability Zones in which to create the load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:244
+#: heat/engine/resources/loadbalancer.py:243
msgid "An application health check for the instances."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:248
+#: heat/engine/resources/loadbalancer.py:247
msgid ""
"The number of consecutive health probe successes required before moving "
"the instance to the healthy state."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:255
+#: heat/engine/resources/loadbalancer.py:254
msgid ""
"The approximate interval, in seconds, between health checks of an "
"individual instance."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:261
+#: heat/engine/resources/loadbalancer.py:260
msgid "The port being checked."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:266
+#: heat/engine/resources/loadbalancer.py:265
msgid "Health probe timeout, in seconds."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:271
+#: heat/engine/resources/loadbalancer.py:270
msgid ""
"The number of consecutive health probe failures required before moving "
"the instance to the unhealthy state"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:280
+#: heat/engine/resources/loadbalancer.py:279
msgid "The list of instance IDs load balanced."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:285
+#: heat/engine/resources/loadbalancer.py:284
msgid "One or more listeners for this load balancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:291
+#: heat/engine/resources/loadbalancer.py:290
msgid "TCP port on which the instance server is listening."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:297
+#: heat/engine/resources/loadbalancer.py:296
msgid "The external load balancer port number."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:302
+#: heat/engine/resources/loadbalancer.py:301
msgid "The load balancer transport protocol to use."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:345
+#: heat/engine/resources/loadbalancer.py:344
msgid "The name of the hosted zone that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:347
+#: heat/engine/resources/loadbalancer.py:346
msgid "The ID of the hosted zone name that is associated with the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:350
+#: heat/engine/resources/loadbalancer.py:349
msgid "The DNS name for the LoadBalancer."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:351
+#: heat/engine/resources/loadbalancer.py:350
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:355
+#: heat/engine/resources/loadbalancer.py:354
msgid "Owner of the source security group."
msgstr ""
-#: heat/engine/resources/loadbalancer.py:417
+#: heat/engine/resources/loadbalancer.py:416
#, python-format
msgid "haproxy server:%s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:428
+#: heat/engine/resources/loadbalancer.py:427
#, python-format
msgid "Using custom loadbalancer template %s"
msgstr ""
-#: heat/engine/resources/loadbalancer.py:497
+#: heat/engine/resources/loadbalancer.py:496
msgid "Custom LoadBalancer template can not be found"
msgstr ""
-#: heat/engine/resources/network_interface.py:43
+#: heat/engine/resources/network_interface.py:42
msgid "Description for this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:47
+#: heat/engine/resources/network_interface.py:46
msgid "List of security group IDs associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:55
+#: heat/engine/resources/network_interface.py:54
msgid "Flag indicating if traffic to or from instance is validated."
msgstr ""
-#: heat/engine/resources/network_interface.py:60
+#: heat/engine/resources/network_interface.py:59
msgid "Subnet ID to associate with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:67
+#: heat/engine/resources/network_interface.py:66
msgid "List of tags associated with this interface."
msgstr ""
-#: heat/engine/resources/network_interface.py:83
+#: heat/engine/resources/network_interface.py:82
msgid "Private IP address of the network interface."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:29
+#: heat/engine/resources/nova_floatingip.py:30
msgid "Allocate a floating IP from a given floating IP pool."
-msgstr ""
+msgstr "從浮動 IP 倉庫分配一個浮動 IP。"
-#: heat/engine/resources/nova_floatingip.py:35
+#: heat/engine/resources/nova_floatingip.py:36
msgid "Pool from which floating IP is allocated."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:36
+#: heat/engine/resources/nova_floatingip.py:37
msgid "Allocated floating IP address."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:56
+#: heat/engine/resources/nova_floatingip.py:57
msgid ""
"Could not allocate floating IP. Probably there is no default floating IP "
"pool is configured."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:89
+#: heat/engine/resources/nova_floatingip.py:90
msgid "Server to assign floating IP to."
msgstr ""
-#: heat/engine/resources/nova_floatingip.py:94
+#: heat/engine/resources/nova_floatingip.py:95
msgid "ID of the floating IP to assign to the server."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:50
+#: heat/engine/resources/nova_keypair.py:51
msgid "The name of the key pair."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:55
+#: heat/engine/resources/nova_keypair.py:56
msgid ""
"True if the system should remember a generated private key; False "
"otherwise."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:61
+#: heat/engine/resources/nova_keypair.py:62
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:68
+#: heat/engine/resources/nova_keypair.py:69
msgid "The public key."
msgstr ""
-#: heat/engine/resources/nova_keypair.py:69
+#: heat/engine/resources/nova_keypair.py:70
msgid "The private key if it has been saved."
msgstr ""
-#: heat/engine/resources/nova_utils.py:57
+#: heat/engine/resources/nova_utils.py:56
#, python-format
msgid ""
"Server %(name)s (%(id)s) received an OverLimit response during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:64
+#: heat/engine/resources/nova_utils.py:63
#, python-format
msgid ""
"Server \"%(name)s\" (%(id)s) received the following exception during "
"server.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:86
-#: heat/engine/resources/nova_utils.py:100
+#: 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:94
+#: heat/engine/resources/nova_utils.py:93
#, python-format
msgid "Error retrieving image list from nova: %s"
msgstr ""
-#: heat/engine/resources/nova_utils.py:104
+#: 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:319
+#: heat/engine/resources/nova_utils.py:317
#, python-format
msgid "Resizing to '%(flavor)s' failed, status '%(status)s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:341
+#: heat/engine/resources/nova_utils.py:339
#, python-format
msgid "Rebuilding server failed, status '%s'"
msgstr ""
-#: heat/engine/resources/nova_utils.py:373 heat/engine/resources/server.py:624
+#: heat/engine/resources/nova_utils.py:371 heat/engine/resources/server.py:639
#, python-format
msgid "Instance (%(server)s) not found: %(ex)s"
msgstr ""
-#: heat/engine/resources/os_database.py:55
+#: heat/engine/resources/os_database.py:54
msgid "Name of the DB instance to create."
msgstr ""
-#: heat/engine/resources/os_database.py:63
+#: heat/engine/resources/os_database.py:62
msgid "Reference to a flavor for creating DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:68
+#: heat/engine/resources/os_database.py:67
msgid "Database volume size in GB."
msgstr ""
-#: heat/engine/resources/os_database.py:76
+#: heat/engine/resources/os_database.py:75
msgid "List of databases to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:83
+#: heat/engine/resources/os_database.py:82
msgid "Set of symbols and encodings."
msgstr ""
-#: heat/engine/resources/os_database.py:88
+#: heat/engine/resources/os_database.py:87
msgid "Set of rules for comparing characters in a character set."
msgstr ""
-#: heat/engine/resources/os_database.py:94
+#: heat/engine/resources/os_database.py:93
msgid "Specifies database names for creating databases on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:109
+#: heat/engine/resources/os_database.py:108
msgid "List of users to be created on DB instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:116
+#: heat/engine/resources/os_database.py:115
msgid "User name to create a user on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:128
+#: heat/engine/resources/os_database.py:127
msgid "Password for those users on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:139
+#: heat/engine/resources/os_database.py:138
msgid "The host from which a user is allowed to connect to the database."
msgstr ""
-#: heat/engine/resources/os_database.py:145
+#: heat/engine/resources/os_database.py:144
msgid "Names of databases that those users can access on instance creation."
msgstr ""
-#: heat/engine/resources/os_database.py:157
+#: heat/engine/resources/os_database.py:156
msgid "Name of the availability zone for DB instance."
msgstr ""
-#: heat/engine/resources/os_database.py:161
+#: heat/engine/resources/os_database.py:160
msgid "DB instance restore point."
msgstr ""
-#: heat/engine/resources/os_database.py:166
+#: heat/engine/resources/os_database.py:165
msgid "Hostname of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:167
+#: heat/engine/resources/os_database.py:166
msgid "Api endpoint reference of the instance"
msgstr ""
-#: heat/engine/resources/os_database.py:226
+#: heat/engine/resources/os_database.py:225
#, python-format
msgid ""
"Stack %(name)s (%(id)s) received an OverLimit response during "
"instance.get(): %(exception)s"
msgstr ""
-#: heat/engine/resources/os_database.py:239
+#: heat/engine/resources/os_database.py:238
msgid "Database instance creation failed."
msgstr ""
-#: heat/engine/resources/os_database.py:244
+#: heat/engine/resources/os_database.py:243
#, python-format
msgid ""
"Database instance %(database)s created (flavor:%(flavor)s, "
"volume:%(volume)s)"
msgstr ""
-#: heat/engine/resources/os_database.py:262
+#: heat/engine/resources/os_database.py:261
#, python-format
msgid "Database instance %s not found."
msgstr ""
-#: heat/engine/resources/os_database.py:299
+#: heat/engine/resources/os_database.py:298
msgid "Databases property is required if users property is provided"
msgstr ""
-#: heat/engine/resources/os_database.py:306
+#: heat/engine/resources/os_database.py:305
#, python-format
msgid "Must provide access to at least one database for user %s"
msgstr ""
-#: heat/engine/resources/os_database.py:314
+#: heat/engine/resources/os_database.py:313
#, python-format
msgid "Database %s specified for user does not exist in databases."
msgstr ""
-#: heat/engine/resources/random_string.py:41
+#: heat/engine/resources/random_string.py:40
msgid "Length of the string to generate."
msgstr ""
-#: heat/engine/resources/random_string.py:49
+#: heat/engine/resources/random_string.py:48
msgid "Sequence of characters to build the random string from."
msgstr ""
-#: heat/engine/resources/random_string.py:60
+#: heat/engine/resources/random_string.py:59
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:67
+#: heat/engine/resources/random_string.py:66
msgid ""
"The random string generated by this resource. This value is also "
"available by referencing the resource."
msgstr ""
-#: heat/engine/resources/resource_group.py:61
+#: heat/engine/resources/resource_group.py:60
msgid "The number of instances to create."
msgstr ""
-#: heat/engine/resources/resource_group.py:70
+#: heat/engine/resources/resource_group.py:69
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:76
+#: heat/engine/resources/resource_group.py:75
msgid "The type of the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:81
+#: heat/engine/resources/resource_group.py:80
msgid "Property values for the resources in the group"
msgstr ""
-#: heat/engine/resources/resource_group.py:89
+#: heat/engine/resources/resource_group.py:88
msgid "A list of resource IDs for the resources in the group"
msgstr ""
-#: heat/engine/resources/route_table.py:45
+#: heat/engine/resources/route_table.py:44
msgid "VPC ID for where the route table is created."
msgstr ""
-#: heat/engine/resources/route_table.py:52
+#: heat/engine/resources/route_table.py:51
msgid "List of tags to be attached to this resource."
msgstr ""
-#: heat/engine/resources/route_table.py:121
+#: heat/engine/resources/route_table.py:120
msgid "Route table ID."
msgstr ""
-#: heat/engine/resources/route_table.py:126
+#: heat/engine/resources/route_table.py:125
msgid "Subnet ID."
msgstr ""
@@ -3104,89 +3126,89 @@ msgstr ""
msgid "Delete container failed: %s"
msgstr ""
-#: heat/engine/resources/security_group.py:71
-#: heat/engine/resources/neutron/security_group.py:118
+#: heat/engine/resources/security_group.py:70
+#: heat/engine/resources/neutron/security_group.py:117
msgid "Description of the security group."
msgstr ""
-#: heat/engine/resources/security_group.py:76
+#: heat/engine/resources/security_group.py:75
msgid "Physical ID of the VPC."
msgstr ""
-#: heat/engine/resources/security_group.py:82
+#: heat/engine/resources/security_group.py:81
msgid "List of security group ingress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:90
+#: heat/engine/resources/security_group.py:89
msgid "List of security group egress rules."
msgstr ""
-#: heat/engine/resources/security_group.py:285
+#: heat/engine/resources/security_group.py:284
#, python-format
msgid "Security Group \"%(group_name)s\" not found"
msgstr ""
-#: heat/engine/resources/server.py:89
+#: heat/engine/resources/server.py:91
msgid "Server name."
msgstr ""
-#: heat/engine/resources/server.py:94
+#: heat/engine/resources/server.py:96
msgid "The ID or name of the image to boot with."
msgstr ""
-#: heat/engine/resources/server.py:102
+#: heat/engine/resources/server.py:104
msgid "Block device mappings for this server."
msgstr ""
-#: heat/engine/resources/server.py:108
+#: heat/engine/resources/server.py:110
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:115
+#: heat/engine/resources/server.py:117
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:121
+#: heat/engine/resources/server.py:123
msgid "The ID of the snapshot to create a volume from."
msgstr ""
-#: heat/engine/resources/server.py:126
+#: heat/engine/resources/server.py:128
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:132
+#: heat/engine/resources/server.py:134
msgid ""
"Indicate whether the volume should be deleted when the server is "
"terminated."
msgstr ""
-#: heat/engine/resources/server.py:140
+#: heat/engine/resources/server.py:142
msgid "The ID or name of the flavor to boot onto."
msgstr ""
-#: heat/engine/resources/server.py:146
+#: heat/engine/resources/server.py:148
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:156
+#: heat/engine/resources/server.py:158
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:167
+#: heat/engine/resources/server.py:169
msgid "Name of keypair to inject into the server."
msgstr ""
-#: heat/engine/resources/server.py:174
+#: heat/engine/resources/server.py:176
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 "
@@ -3194,48 +3216,48 @@ msgid ""
"and \"cloud-user\" for CentOS/RHEL 6.5)."
msgstr ""
-#: heat/engine/resources/server.py:183
+#: heat/engine/resources/server.py:185
msgid "Name of the availability zone for server placement."
msgstr ""
-#: heat/engine/resources/server.py:187
+#: heat/engine/resources/server.py:189
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:194
+#: heat/engine/resources/server.py:196
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:201
+#: heat/engine/resources/server.py:203
msgid "ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:204 heat/engine/resources/volume.py:406
+#: heat/engine/resources/server.py:206 heat/engine/resources/volume.py:462
#, python-format
msgid "Use property %s."
msgstr ""
-#: heat/engine/resources/server.py:208
+#: heat/engine/resources/server.py:210
msgid "Name or ID of network to create a port on."
msgstr ""
-#: heat/engine/resources/server.py:212
+#: heat/engine/resources/server.py:214
msgid "Fixed IP address to specify for the port created on the requested network."
msgstr ""
-#: heat/engine/resources/server.py:217
+#: heat/engine/resources/server.py:219
msgid "ID of an existing port to associate with this server."
msgstr ""
-#: heat/engine/resources/server.py:226
+#: heat/engine/resources/server.py:228
msgid "Arbitrary key-value pairs specified by the client to help boot a server."
msgstr ""
-#: heat/engine/resources/server.py:231
+#: heat/engine/resources/server.py:233
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 "
@@ -3243,7 +3265,7 @@ msgid ""
"less)."
msgstr ""
-#: heat/engine/resources/server.py:239
+#: heat/engine/resources/server.py:241
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 "
@@ -3253,7 +3275,7 @@ msgid ""
"resources."
msgstr ""
-#: heat/engine/resources/server.py:253
+#: heat/engine/resources/server.py:255
msgid ""
"How the server should receive the metadata required for software "
"configuration. POLL_SERVER_CFN will allow calls to the cfn API action "
@@ -3262,81 +3284,81 @@ msgid ""
" provided keystone credentials."
msgstr ""
-#: heat/engine/resources/server.py:266
+#: heat/engine/resources/server.py:268
msgid "User data script to be executed by cloud-init."
msgstr ""
-#: heat/engine/resources/server.py:271
+#: heat/engine/resources/server.py:273
msgid "A UUID for the set of servers being requested."
msgstr ""
-#: heat/engine/resources/server.py:275
+#: heat/engine/resources/server.py:277
msgid "value for config drive either boolean, or volume-id."
msgstr ""
-#: heat/engine/resources/server.py:279
+#: heat/engine/resources/server.py:281
msgid "Control how the disk is partitioned when the server is created."
msgstr ""
-#: heat/engine/resources/server.py:287
+#: heat/engine/resources/server.py:289
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:293
+#: heat/engine/resources/server.py:295
msgid "The administrator password for the server."
msgstr ""
-#: heat/engine/resources/server.py:300
+#: heat/engine/resources/server.py:302
msgid "A dict of all server details as returned by the API."
msgstr ""
-#: heat/engine/resources/server.py:301
-msgid "A dict of all network addresses as returned by the API."
+#: heat/engine/resources/server.py:303
+msgid "A dict of all network addresses with corresponding port_id."
msgstr ""
-#: heat/engine/resources/server.py:303
+#: heat/engine/resources/server.py:305
msgid ""
"A dict of assigned network addresses of the form: {\"public\": [ip1, "
"ip2...], \"private\": [ip3, ip4]}."
msgstr ""
-#: heat/engine/resources/server.py:305
+#: heat/engine/resources/server.py:307
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:311
+#: heat/engine/resources/server.py:313
msgid "AWS compatible instance name."
msgstr ""
-#: heat/engine/resources/server.py:312
+#: heat/engine/resources/server.py:314
msgid "The manually assigned alternative public IPv4 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:314
+#: heat/engine/resources/server.py:316
msgid "The manually assigned alternative public IPv6 address of the server."
msgstr ""
-#: heat/engine/resources/server.py:555
+#: heat/engine/resources/server.py:558
#, python-format
msgid "Creation of server %s failed."
msgstr ""
-#: heat/engine/resources/server.py:845
+#: heat/engine/resources/server.py:879
#, python-format
msgid "Either volume_id or snapshot_id must be specified for device mapping %s"
msgstr ""
-#: heat/engine/resources/server.py:852
+#: heat/engine/resources/server.py:886
#, python-format
msgid "Neither image nor bootable volume is specified for instance %s"
msgstr ""
-#: heat/engine/resources/server.py:865
+#: heat/engine/resources/server.py:899
#, python-format
msgid ""
"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network "
@@ -3344,7 +3366,7 @@ msgid ""
"is deprecated. Use only \"%(id)s\" property."
msgstr ""
-#: heat/engine/resources/server.py:875
+#: heat/engine/resources/server.py:909
#, python-format
msgid ""
"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network"
@@ -3352,79 +3374,79 @@ msgid ""
"property instead."
msgstr ""
-#: heat/engine/resources/server.py:902
+#: heat/engine/resources/server.py:936
#, 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:911
+#: heat/engine/resources/server.py:945
#, python-format
msgid "The personality property may not contain greater than %s entries."
msgstr ""
-#: heat/engine/resources/server.py:917
+#: heat/engine/resources/server.py:951
#, 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:957 heat/engine/resources/server.py:1003
+#: heat/engine/resources/server.py:991 heat/engine/resources/server.py:1037
#, python-format
msgid "Failed to find server %s"
msgstr ""
-#: heat/engine/resources/server.py:960
+#: heat/engine/resources/server.py:994
#, python-format
msgid "suspending server %s"
msgstr ""
-#: heat/engine/resources/server.py:984
+#: heat/engine/resources/server.py:1018
#, python-format
msgid "Suspend of server %(server)s failed with unknown status: %(status)s"
msgstr ""
-#: heat/engine/resources/server.py:1006
+#: heat/engine/resources/server.py:1040
#, python-format
msgid "resuming server %s"
msgstr ""
-#: heat/engine/resources/stack.py:42
+#: heat/engine/resources/stack.py:41
msgid ""
"The URL of a template that specifies the stack to be created as a "
"resource."
msgstr ""
-#: heat/engine/resources/stack.py:49
+#: heat/engine/resources/stack.py:48
msgid "The length of time, in minutes, to wait for the nested stack creation."
msgstr ""
-#: heat/engine/resources/stack.py:55
+#: heat/engine/resources/stack.py:54
msgid "The set of parameters passed to this nested stack."
msgstr ""
-#: heat/engine/resources/stack.py:66 heat/engine/resources/stack.py:112
+#: heat/engine/resources/stack.py:65 heat/engine/resources/stack.py:111
#, python-format
msgid "Could not fetch remote template '%(url)s': %(exc)s"
msgstr ""
-#: heat/engine/resources/subnet.py:42
+#: heat/engine/resources/subnet.py:41
msgid "Availability zone in which you want the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:46
+#: heat/engine/resources/subnet.py:45
msgid "CIDR block to apply to subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:51
+#: heat/engine/resources/subnet.py:50
msgid ""
"Ref structure that contains the ID of the VPC on which you want to create"
" the subnet."
msgstr ""
-#: heat/engine/resources/subnet.py:59
+#: heat/engine/resources/subnet.py:58
msgid "List of tags to attach to this resource."
msgstr ""
@@ -3536,109 +3558,124 @@ msgstr ""
msgid "Failed to retrieve template data: %s"
msgstr ""
-#: heat/engine/resources/user.py:56
+#: heat/engine/resources/user.py:55
msgid "A login profile for the user."
msgstr ""
-#: heat/engine/resources/user.py:65
+#: heat/engine/resources/user.py:64
msgid "Access policies to apply to the user."
msgstr ""
-#: heat/engine/resources/user.py:80 heat/engine/resources/user.py:120
+#: heat/engine/resources/user.py:79 heat/engine/resources/user.py:119
#, python-format
msgid "Ignoring policy %s, must be string resource name"
msgstr ""
-#: heat/engine/resources/user.py:87
+#: heat/engine/resources/user.py:86
#, python-format
msgid "Policy %(policy)s does not exist in stack %(stack)s"
msgstr ""
-#: heat/engine/resources/user.py:94
+#: heat/engine/resources/user.py:93
#, python-format
msgid "Policy %s is not an AccessPolicy resource"
msgstr ""
-#: heat/engine/resources/user.py:144
+#: heat/engine/resources/user.py:143
msgid "The name of the user that the new key will belong to."
msgstr ""
-#: heat/engine/resources/user.py:158
+#: heat/engine/resources/user.py:157
msgid "Username associated with the AccessKey."
msgstr ""
-#: heat/engine/resources/user.py:159
+#: heat/engine/resources/user.py:158
msgid "Keypair secret key."
msgstr ""
-#: heat/engine/resources/user.py:185
+#: heat/engine/resources/user.py:184
#, python-format
msgid "could not find user %s"
msgstr ""
-#: heat/engine/resources/user.py:205
+#: heat/engine/resources/user.py:204
#, python-format
msgid "Error deleting %s - user not found"
msgstr ""
-#: heat/engine/resources/user.py:215 heat/engine/resources/user.py:239
+#: heat/engine/resources/user.py:214 heat/engine/resources/user.py:238
#, python-format
msgid "could not get secret for %(username)s Error:%(msg)s"
msgstr ""
-#: heat/engine/resources/user.py:270
+#: heat/engine/resources/user.py:269
msgid ""
"Resources that users are allowed to access by the DescribeStackResource "
"API."
msgstr ""
-#: heat/engine/resources/user.py:287
+#: heat/engine/resources/user.py:286
#, python-format
msgid "AccessPolicy resource %s not in stack"
msgstr ""
-#: heat/engine/resources/volume.py:50 heat/engine/resources/volume.py:367
+#: heat/engine/resources/volume.py:49 heat/engine/resources/volume.py:423
msgid "The availability zone in which the volume will be created."
msgstr ""
-#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:371
-#: heat/engine/resources/volume.py:425
+#: 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."
msgstr ""
-#: heat/engine/resources/volume.py:59
+#: heat/engine/resources/volume.py:58
msgid "If specified, the backup used as the source to create the volume."
msgstr ""
-#: heat/engine/resources/volume.py:64
+#: heat/engine/resources/volume.py:63
msgid "The list of tags to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:108
+#: heat/engine/resources/volume.py:107
msgid "Backups not supported."
msgstr ""
-#: heat/engine/resources/volume.py:153
+#: heat/engine/resources/volume.py:152
msgid "can not delete volume when in-use"
msgstr ""
-#: heat/engine/resources/volume.py:154
+#: heat/engine/resources/volume.py:153
msgid "Volume in use"
msgstr ""
-#: heat/engine/resources/volume.py:221
+#: heat/engine/resources/volume.py:215 heat/engine/resources/volume.py:288
#, python-format
-msgid "%(name)s - volume status: %(status)s"
+msgid "%s - volume not found"
+msgstr ""
+
+#: heat/engine/resources/volume.py:217
+#, python-format
+msgid "Failed to attach %(vol)s to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:229
#, python-format
+msgid "%(name)s - volume status: %(status)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:237 heat/engine/resources/volume.py:313
+#, python-format
msgid "%s - complete"
msgstr ""
-#: heat/engine/resources/volume.py:262 heat/engine/resources/volume.py:295
+#: heat/engine/resources/volume.py:254
#, python-format
-msgid "%s - volume not found"
+msgid "Removing volume %(vol)s from Instance %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:271
+#, python-format
+msgid "Volume %(vol)s is not attached to server %(srv)s"
msgstr ""
#: heat/engine/resources/volume.py:278
@@ -3646,118 +3683,128 @@ msgstr ""
msgid "%s - volume still in use"
msgstr ""
-#: heat/engine/resources/volume.py:289
+#: heat/engine/resources/volume.py:282
#, python-format
msgid "%(name)s - status: %(status)s"
msgstr ""
-#: heat/engine/resources/volume.py:308
+#: heat/engine/resources/volume.py:291
+#, python-format
+msgid "Failed to detach %(vol)s from server %(srv)s"
+msgstr ""
+
+#: heat/engine/resources/volume.py:309
+#, python-format
+msgid "Server %(srv)s still has %(vol)s attached."
+msgstr ""
+
+#: heat/engine/resources/volume.py:326
msgid "The ID of the instance to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:378
+#: heat/engine/resources/volume.py:434
msgid "If specified, the snapshot to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:382
+#: heat/engine/resources/volume.py:438
msgid "If specified, the backup to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:386
+#: heat/engine/resources/volume.py:442
msgid "A name used to distinguish the volume."
msgstr ""
-#: heat/engine/resources/volume.py:390
+#: heat/engine/resources/volume.py:446
msgid "A description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:394
+#: heat/engine/resources/volume.py:450
msgid "If specified, the type of volume to use, mapping to a specific backend."
msgstr ""
-#: heat/engine/resources/volume.py:399
+#: heat/engine/resources/volume.py:455
msgid "Key/value pairs to associate with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:403
+#: heat/engine/resources/volume.py:459
msgid "The ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:410
+#: heat/engine/resources/volume.py:466
msgid "If specified, the name or ID of the image to create the volume from."
msgstr ""
-#: heat/engine/resources/volume.py:418
+#: heat/engine/resources/volume.py:474
msgid "If specified, the volume to use as source."
msgstr ""
-#: heat/engine/resources/volume.py:423
+#: heat/engine/resources/volume.py:479
msgid "The availability zone in which the volume is located."
msgstr ""
-#: heat/engine/resources/volume.py:426
+#: heat/engine/resources/volume.py:482
msgid "The snapshot the volume was created from, if any."
msgstr ""
-#: heat/engine/resources/volume.py:427
+#: heat/engine/resources/volume.py:483
msgid "Name of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:428
+#: heat/engine/resources/volume.py:484
msgid "Description of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:429
+#: heat/engine/resources/volume.py:485
msgid "The type of the volume mapping to a backend, if any."
msgstr ""
-#: heat/engine/resources/volume.py:431
+#: heat/engine/resources/volume.py:487
msgid "Key/value pairs associated with the volume."
msgstr ""
-#: heat/engine/resources/volume.py:432
+#: heat/engine/resources/volume.py:488
msgid "The volume used as source, if any."
msgstr ""
-#: heat/engine/resources/volume.py:433
+#: heat/engine/resources/volume.py:489
msgid "The current status of the volume."
msgstr ""
-#: heat/engine/resources/volume.py:434
+#: heat/engine/resources/volume.py:490
msgid "The timestamp indicating volume creation."
msgstr ""
-#: heat/engine/resources/volume.py:435
+#: heat/engine/resources/volume.py:491
msgid "Boolean indicating if the volume can be booted or not."
msgstr ""
-#: heat/engine/resources/volume.py:485
+#: heat/engine/resources/volume.py:541
msgid "The ID of the server to which the volume attaches."
msgstr ""
-#: heat/engine/resources/volume.py:495
+#: heat/engine/resources/volume.py:553
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-<VolumeId> be used instead."
msgstr ""
-#: heat/engine/resources/vpc.py:43
+#: heat/engine/resources/vpc.py:42
msgid "CIDR block to apply to the VPC."
msgstr ""
-#: heat/engine/resources/vpc.py:47
+#: heat/engine/resources/vpc.py:46
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:61
+#: heat/engine/resources/vpc.py:60
msgid "List of tags to attach to the instance."
msgstr ""
-#: heat/engine/resources/vpc.py:104
+#: heat/engine/resources/vpc.py:103
#, python-format
msgid "Multiple routers found with name %s"
msgstr ""
@@ -3776,123 +3823,123 @@ msgstr ""
msgid "Metadata format invalid"
msgstr ""
-#: heat/engine/resources/wait_condition.py:143
+#: heat/engine/resources/wait_condition.py:140
#, python-format
msgid "%(len)d of %(count)d received - %(reasons)s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:145
+#: heat/engine/resources/wait_condition.py:142
#, python-format
msgid "%(len)d of %(count)d received"
msgstr ""
-#: heat/engine/resources/wait_condition.py:159
+#: heat/engine/resources/wait_condition.py:156
msgid ""
"A reference to the wait condition handle used to signal this wait "
"condition."
msgstr ""
-#: heat/engine/resources/wait_condition.py:165
+#: heat/engine/resources/wait_condition.py:162
msgid "The number of seconds to wait for the correct number of signals to arrive."
msgstr ""
-#: heat/engine/resources/wait_condition.py:174
+#: heat/engine/resources/wait_condition.py:171
msgid ""
"The number of success signals that must be received before the stack "
"creation process continues."
msgstr ""
-#: heat/engine/resources/wait_condition.py:185
+#: heat/engine/resources/wait_condition.py:182
msgid ""
"JSON serialized dict containing data associated with wait condition "
"signals sent to the handle."
msgstr ""
-#: heat/engine/resources/wait_condition.py:198
+#: heat/engine/resources/wait_condition.py:195
#, 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:204
#, python-format
msgid "WaitCondition invalid Handle stack %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:207
-#: heat/engine/resources/wait_condition.py:211
+#: heat/engine/resources/wait_condition.py:204
+#: heat/engine/resources/wait_condition.py:208
#, python-format
msgid "WaitCondition invalid Handle %s"
msgstr ""
-#: heat/engine/resources/wait_condition.py:225
+#: heat/engine/resources/wait_condition.py:222
#, python-format
msgid "%(name)s Timed out (%(timeout)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:233
+#: heat/engine/resources/wait_condition.py:230
#, python-format
msgid "%(name)s Failed (%(failure)s)"
msgstr ""
-#: heat/engine/resources/wait_condition.py:238
+#: heat/engine/resources/wait_condition.py:235
#, python-format
msgid "%s Succeeded"
msgstr ""
-#: heat/engine/resources/wait_condition.py:285
+#: heat/engine/resources/wait_condition.py:282
#, python-format
msgid "%(name)s.GetAtt(%(key)s) == %(res)s"
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:39
+#: heat/engine/resources/ceilometer/alarm.py:38
msgid "True if alarm evaluation/actioning is enabled."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:45
+#: heat/engine/resources/ceilometer/alarm.py:44
msgid "A list of URLs (webhooks) to invoke when state transitions to alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:51
+#: heat/engine/resources/ceilometer/alarm.py:50
msgid "A list of URLs (webhooks) to invoke when state transitions to ok."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:57
+#: heat/engine/resources/ceilometer/alarm.py:56
msgid ""
"A list of URLs (webhooks) to invoke when state transitions to "
"insufficient-data."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:63
+#: heat/engine/resources/ceilometer/alarm.py:62
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:107
+#: heat/engine/resources/ceilometer/alarm.py:106
msgid "Operator used to compare specified statistic with threshold."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:121
+#: heat/engine/resources/ceilometer/alarm.py:120
msgid "Meter name watched by the alarm."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:131
+#: heat/engine/resources/ceilometer/alarm.py:130
msgid "Meter statistic to evaluate."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:146
+#: heat/engine/resources/ceilometer/alarm.py:145
msgid ""
"Meter should match this resource metadata (key=value) additionally to the"
" meter_name."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:212
+#: heat/engine/resources/ceilometer/alarm.py:211
msgid "List of alarm identifiers to combine."
msgstr ""
-#: heat/engine/resources/ceilometer/alarm.py:218
+#: heat/engine/resources/ceilometer/alarm.py:217
msgid "Operator used to combine the alarms."
msgstr ""
@@ -3938,16 +3985,16 @@ msgid "Id of the tenant owning the firewall."
msgstr ""
#: heat/engine/resources/neutron/firewall.py:73
-#: heat/engine/resources/neutron/floatingip.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:118
-#: heat/engine/resources/neutron/loadbalancer.py:496
-#: heat/engine/resources/neutron/net.py:87
+#: 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:150
+#: 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:150
-#: heat/engine/resources/neutron/vpnservice.py:80
+#: heat/engine/resources/neutron/subnet.py:149
+#: heat/engine/resources/neutron/vpnservice.py:79
msgid "All attributes."
msgstr ""
@@ -4091,374 +4138,374 @@ msgstr ""
msgid "Position of the rule within the firewall policy."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:37
+#: heat/engine/resources/neutron/floatingip.py:36
msgid "ID of network to allocate floating IP from."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:42
+#: heat/engine/resources/neutron/floatingip.py:41
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:49
-#: heat/engine/resources/neutron/floatingip.py:115
+#: heat/engine/resources/neutron/floatingip.py:48
+#: heat/engine/resources/neutron/floatingip.py:114
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:54
-#: heat/engine/resources/neutron/floatingip.py:120
+#: heat/engine/resources/neutron/floatingip.py:53
+#: heat/engine/resources/neutron/floatingip.py:119
msgid "IP address to use if the port has multiple addresses."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:59
+#: heat/engine/resources/neutron/floatingip.py:58
msgid "ID of the router used as gateway, set when associated with a port."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:61
+#: heat/engine/resources/neutron/floatingip.py:60
msgid "The tenant owning this floating IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:62
+#: heat/engine/resources/neutron/floatingip.py:61
msgid "ID of the network in which this IP is allocated."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:64
+#: heat/engine/resources/neutron/floatingip.py:63
msgid "IP address of the associated port, if specified."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:66
+#: heat/engine/resources/neutron/floatingip.py:65
msgid "The allocated address of this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:67
+#: heat/engine/resources/neutron/floatingip.py:66
msgid "ID of the port associated with this IP."
msgstr ""
-#: heat/engine/resources/neutron/floatingip.py:110
+#: heat/engine/resources/neutron/floatingip.py:109
msgid "ID of the floating IP to associate."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:46
-#: heat/engine/resources/neutron/loadbalancer.py:104
+#: heat/engine/resources/neutron/loadbalancer.py:45
+#: heat/engine/resources/neutron/loadbalancer.py:103
msgid "The minimum time in seconds between regular connections of the member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:53
-#: heat/engine/resources/neutron/loadbalancer.py:114
+#: heat/engine/resources/neutron/loadbalancer.py:52
+#: heat/engine/resources/neutron/loadbalancer.py:113
msgid "One of predefined health monitor types."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:61
-#: heat/engine/resources/neutron/loadbalancer.py:110
+#: heat/engine/resources/neutron/loadbalancer.py:60
+#: heat/engine/resources/neutron/loadbalancer.py:109
msgid ""
"Number of permissible connection failures before changing the member "
"status to INACTIVE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:68
-#: heat/engine/resources/neutron/loadbalancer.py:112
+#: heat/engine/resources/neutron/loadbalancer.py:67
+#: heat/engine/resources/neutron/loadbalancer.py:111
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:75
+#: heat/engine/resources/neutron/loadbalancer.py:74
msgid "The administrative state of the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:81
-#: heat/engine/resources/neutron/loadbalancer.py:108
+#: heat/engine/resources/neutron/loadbalancer.py:80
+#: heat/engine/resources/neutron/loadbalancer.py:107
msgid "The HTTP method used for requests by the monitor of type HTTP."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:87
-#: heat/engine/resources/neutron/loadbalancer.py:106
+#: heat/engine/resources/neutron/loadbalancer.py:86
+#: heat/engine/resources/neutron/loadbalancer.py:105
msgid ""
"The list of HTTP status codes expected in response from the member to "
"declare it healthy."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:93
-#: heat/engine/resources/neutron/loadbalancer.py:115
+#: heat/engine/resources/neutron/loadbalancer.py:92
+#: heat/engine/resources/neutron/loadbalancer.py:114
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:102
+#: heat/engine/resources/neutron/loadbalancer.py:101
msgid "The administrative state of this health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:117
+#: heat/engine/resources/neutron/loadbalancer.py:116
msgid "Tenant owning the health monitor."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:179
+#: heat/engine/resources/neutron/loadbalancer.py:178
msgid "Protocol for balancing."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:187
-#: heat/engine/resources/neutron/loadbalancer.py:290
+#: heat/engine/resources/neutron/loadbalancer.py:186
+#: heat/engine/resources/neutron/loadbalancer.py:289
msgid ""
"The subnet for the port on which the members of the pool will be "
"connected."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:193
-#: heat/engine/resources/neutron/loadbalancer.py:292
+#: heat/engine/resources/neutron/loadbalancer.py:192
+#: heat/engine/resources/neutron/loadbalancer.py:291
msgid "The algorithm used to distribute load between the members of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:204
-#: heat/engine/resources/neutron/loadbalancer.py:288
+#: heat/engine/resources/neutron/loadbalancer.py:203
+#: heat/engine/resources/neutron/loadbalancer.py:287
msgid "Name of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:208
-#: heat/engine/resources/neutron/loadbalancer.py:294
+#: heat/engine/resources/neutron/loadbalancer.py:207
+#: heat/engine/resources/neutron/loadbalancer.py:293
msgid "Description of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:213
-#: heat/engine/resources/neutron/loadbalancer.py:287
+#: heat/engine/resources/neutron/loadbalancer.py:212
+#: heat/engine/resources/neutron/loadbalancer.py:286
msgid "The administrative state of this pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:219
+#: heat/engine/resources/neutron/loadbalancer.py:218
msgid "IP address and port of the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:223
+#: heat/engine/resources/neutron/loadbalancer.py:222
msgid "Name of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:227
+#: heat/engine/resources/neutron/loadbalancer.py:226
msgid "Description of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:231
+#: heat/engine/resources/neutron/loadbalancer.py:230
msgid "Subnet of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:235
+#: heat/engine/resources/neutron/loadbalancer.py:234
msgid "IP address of the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:239
+#: heat/engine/resources/neutron/loadbalancer.py:238
msgid "The maximum number of connections per second allowed for the vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:244
+#: heat/engine/resources/neutron/loadbalancer.py:243
msgid ""
"TCP port on which to listen for client traffic that is associated with "
"the vip address."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:250
+#: heat/engine/resources/neutron/loadbalancer.py:249
msgid "Configuration of session persistence."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:254
+#: heat/engine/resources/neutron/loadbalancer.py:253
msgid "Method of implementation of session persistence feature."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:263
+#: heat/engine/resources/neutron/loadbalancer.py:262
msgid "Name of the cookie, required if type is APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:270
+#: heat/engine/resources/neutron/loadbalancer.py:269
msgid "The administrative state of this vip."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:278
+#: heat/engine/resources/neutron/loadbalancer.py:277
msgid "List of health monitors associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:289
+#: heat/engine/resources/neutron/loadbalancer.py:288
msgid "Protocol to balance."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:295
+#: heat/engine/resources/neutron/loadbalancer.py:294
msgid "Tenant owning the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:296
+#: heat/engine/resources/neutron/loadbalancer.py:295
msgid "Vip associated with the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:314
+#: heat/engine/resources/neutron/loadbalancer.py:313
#: heat/tests/test_neutron_loadbalancer.py:562
msgid ""
"Property cookie_name is required, when session_persistence type is set to"
" APP_COOKIE."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:372
+#: heat/engine/resources/neutron/loadbalancer.py:371
#, python-format
msgid "neutron reported unexpected vip resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:377
+#: heat/engine/resources/neutron/loadbalancer.py:376
#, python-format
msgid "neutron reported unexpected pool resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:454
-#: heat/engine/resources/neutron/loadbalancer.py:493
-#: heat/engine/resources/neutron/loadbalancer.py:554
+#: heat/engine/resources/neutron/loadbalancer.py:453
+#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:553
msgid "The ID of the load balancing pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:460
+#: heat/engine/resources/neutron/loadbalancer.py:459
msgid "IP address of the pool member on the pool network."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:465
+#: heat/engine/resources/neutron/loadbalancer.py:464
msgid "TCP port on which the pool member listens for requests or connections."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:474
+#: heat/engine/resources/neutron/loadbalancer.py:473
msgid "Weight of pool member in the pool (default to 1)."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:482
+#: heat/engine/resources/neutron/loadbalancer.py:481
msgid "The administrative state of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:488
+#: heat/engine/resources/neutron/loadbalancer.py:487
msgid "The administrative state of this pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:490
+#: heat/engine/resources/neutron/loadbalancer.py:489
msgid "Tenant owning the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:491
+#: heat/engine/resources/neutron/loadbalancer.py:490
msgid "Weight of the pool member in the pool."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:492
+#: heat/engine/resources/neutron/loadbalancer.py:491
msgid "IP address of the pool member."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:494
+#: 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:560
+#: heat/engine/resources/neutron/loadbalancer.py:559
msgid "Port number on which the servers are running on the members."
msgstr ""
-#: heat/engine/resources/neutron/loadbalancer.py:565
+#: heat/engine/resources/neutron/loadbalancer.py:564
msgid "The list of Nova server IDs load balanced."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:36
-#: heat/engine/resources/neutron/metering.py:45
+#: heat/engine/resources/neutron/metering.py:37
+#: heat/engine/resources/neutron/metering.py:46
msgid "Name of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:40
-#: heat/engine/resources/neutron/metering.py:46
+#: heat/engine/resources/neutron/metering.py:41
+#: heat/engine/resources/neutron/metering.py:47
msgid "Description of the metering label."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:86
+#: heat/engine/resources/neutron/metering.py:87
msgid "The metering label ID to associate with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:91
+#: heat/engine/resources/neutron/metering.py:92
msgid "Indicates remote IP prefix to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:97
+#: heat/engine/resources/neutron/metering.py:98
msgid "The direction in which metering rule is applied, either ingress or egress."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:105
+#: heat/engine/resources/neutron/metering.py:106
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:113
+#: heat/engine/resources/neutron/metering.py:114
msgid "The direction in which metering rule is applied."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:114
+#: heat/engine/resources/neutron/metering.py:115
msgid "Exclude state for cidr."
msgstr ""
-#: heat/engine/resources/neutron/metering.py:115
+#: 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:117
+#: heat/engine/resources/neutron/metering.py:118
msgid "CIDR to be associated with this metering rule."
msgstr ""
-#: heat/engine/resources/neutron/net.py:39
+#: heat/engine/resources/neutron/net.py:38
msgid ""
"A string specifying a symbolic name for the network, which is not "
"required to be unique."
msgstr ""
-#: heat/engine/resources/neutron/net.py:45
+#: heat/engine/resources/neutron/net.py:44
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:53
+#: heat/engine/resources/neutron/net.py:52
msgid "A boolean value specifying the administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:60
+#: heat/engine/resources/neutron/net.py:59
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:66
+#: heat/engine/resources/neutron/net.py:65
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:74
+#: heat/engine/resources/neutron/net.py:73
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:82
+#: heat/engine/resources/neutron/net.py:81
#: heat/engine/resources/neutron/provider_net.py:66
msgid "The status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:83
+#: heat/engine/resources/neutron/net.py:82
msgid "The name of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:84
+#: heat/engine/resources/neutron/net.py:83
#: heat/engine/resources/neutron/provider_net.py:67
msgid "Subnets of this network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:85
+#: heat/engine/resources/neutron/net.py:84
msgid "The administrative status of the network."
msgstr ""
-#: heat/engine/resources/neutron/net.py:86
+#: heat/engine/resources/neutron/net.py:85
msgid "The tenant owning this network."
msgstr ""
@@ -4508,118 +4555,118 @@ msgstr ""
msgid "segmentation_id cannot be specified except 0 for using flat"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:115
+#: heat/engine/resources/neutron/neutron.py:114
#, python-format
msgid "neutron reported unexpected resource[%(name)s] status[%(status)s]"
msgstr ""
-#: heat/engine/resources/neutron/neutron.py:124
+#: heat/engine/resources/neutron/neutron.py:123
#, python-format
msgid "failed to fetch resource attributes: %s"
msgstr ""
-#: heat/engine/resources/neutron/port.py:54
+#: heat/engine/resources/neutron/port.py:53
msgid "Network ID this port belongs to."
msgstr ""
-#: heat/engine/resources/neutron/port.py:59
+#: heat/engine/resources/neutron/port.py:58
msgid "A symbolic name for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:64
+#: heat/engine/resources/neutron/port.py:63
msgid ""
"Extra parameters to include in the \"port\" object in the creation "
"request."
msgstr ""
-#: heat/engine/resources/neutron/port.py:70
-#: heat/engine/resources/neutron/port.py:138
+#: heat/engine/resources/neutron/port.py:69
+#: heat/engine/resources/neutron/port.py:137
msgid "The administrative state of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:76
+#: heat/engine/resources/neutron/port.py:75
msgid "Desired IPs for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:83
+#: heat/engine/resources/neutron/port.py:82
msgid "Subnet in which to allocate the IP address for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:88
+#: heat/engine/resources/neutron/port.py:87
msgid "IP address desired in the subnet for this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:96
+#: heat/engine/resources/neutron/port.py:95
msgid "MAC address to give to this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:100
+#: heat/engine/resources/neutron/port.py:99
msgid "Device ID of this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:105
+#: heat/engine/resources/neutron/port.py:104
msgid "Security group IDs to associate with this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:111
+#: heat/engine/resources/neutron/port.py:110
msgid "Additional MAC/IP address pairs allowed to pass through the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:118
+#: heat/engine/resources/neutron/port.py:117
msgid "MAC address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:122
+#: heat/engine/resources/neutron/port.py:121
msgid "IP address to allow through this port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:130
+#: heat/engine/resources/neutron/port.py:129
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:139
+#: heat/engine/resources/neutron/port.py:138
msgid "Unique identifier for the device."
msgstr ""
-#: heat/engine/resources/neutron/port.py:140
+#: heat/engine/resources/neutron/port.py:139
msgid "Name of the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:141
+#: heat/engine/resources/neutron/port.py:140
msgid "Fixed IP addresses."
msgstr ""
-#: heat/engine/resources/neutron/port.py:142
+#: heat/engine/resources/neutron/port.py:141
msgid "MAC address of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:143
+#: heat/engine/resources/neutron/port.py:142
msgid "Friendly name of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:144
+#: heat/engine/resources/neutron/port.py:143
msgid "Unique identifier for the network owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:145
+#: heat/engine/resources/neutron/port.py:144
msgid "A list of security groups for the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:146
+#: heat/engine/resources/neutron/port.py:145
msgid "The status of the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:147
+#: heat/engine/resources/neutron/port.py:146
msgid "Tenant owning the port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:148
+#: heat/engine/resources/neutron/port.py:147
msgid "Additional MAC/IP address pairs allowed to pass through a port."
msgstr ""
-#: heat/engine/resources/neutron/port.py:228
+#: heat/engine/resources/neutron/port.py:227
#, python-format
msgid "updating port with %s"
msgstr ""
@@ -4644,24 +4691,27 @@ msgstr ""
msgid "segmentation_id not allowed for flat network type."
msgstr ""
-#: heat/engine/resources/neutron/router.py:49
+#: heat/engine/resources/neutron/router.py:48
msgid "The name of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:54
+#: heat/engine/resources/neutron/router.py:53
msgid "External network gateway configuration for a router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:58
+#: heat/engine/resources/neutron/router.py:57
msgid "ID or name of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/router.py:64
-msgid "Enables Source NAT on the router gateway."
+#: heat/engine/resources/neutron/router.py:63
+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:64
+#: heat/engine/resources/neutron/subnet.py:63
msgid "Extra parameters to include in the creation request."
msgstr ""
@@ -4695,34 +4745,34 @@ msgstr ""
msgid "Tenant owning the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:188
+#: heat/engine/resources/neutron/router.py:190
msgid "The router id."
msgstr ""
-#: heat/engine/resources/neutron/router.py:193
+#: heat/engine/resources/neutron/router.py:195
msgid "The subnet id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:198
+#: heat/engine/resources/neutron/router.py:200
msgid "The port id, either subnet_id or port_id should be specified."
msgstr ""
-#: heat/engine/resources/neutron/router.py:248
+#: heat/engine/resources/neutron/router.py:250
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:262
+#: heat/engine/resources/neutron/router.py:264
msgid "ID of the router."
msgstr ""
-#: heat/engine/resources/neutron/router.py:267
+#: heat/engine/resources/neutron/router.py:269
msgid "ID of the external network for the gateway."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:49
+#: heat/engine/resources/neutron/security_group.py:48
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"
@@ -4730,11 +4780,11 @@ msgid ""
"leaving the instance."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:61
+#: heat/engine/resources/neutron/security_group.py:60
msgid "Ethertype of the traffic."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:69
+#: heat/engine/resources/neutron/security_group.py:68
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 "
@@ -4742,566 +4792,566 @@ msgid ""
" ICMP, this value must be an ICMP type."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:77
+#: heat/engine/resources/neutron/security_group.py:76
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:84
+#: heat/engine/resources/neutron/security_group.py:83
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:89
+#: heat/engine/resources/neutron/security_group.py:88
msgid "Whether to specify a remote group or a remote IP prefix."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:98
+#: heat/engine/resources/neutron/security_group.py:97
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:104
+#: heat/engine/resources/neutron/security_group.py:103
msgid ""
"The remote IP prefix (CIDR) to be associated with this security group "
"rule."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:112
+#: heat/engine/resources/neutron/security_group.py:111
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:123
+#: heat/engine/resources/neutron/security_group.py:122
msgid "List of security group rules."
msgstr ""
-#: heat/engine/resources/neutron/security_group.py:143
+#: heat/engine/resources/neutron/security_group.py:142
msgid "Security groups cannot be assigned the name \"default\"."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:54
+#: heat/engine/resources/neutron/subnet.py:53
msgid "The ID of the attached network."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:59
+#: heat/engine/resources/neutron/subnet.py:58
msgid "The CIDR."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:70
+#: heat/engine/resources/neutron/subnet.py:69
msgid "The name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:75
+#: heat/engine/resources/neutron/subnet.py:74
msgid "The IP version, which is 4 or 6."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:83
+#: heat/engine/resources/neutron/subnet.py:82
msgid "A specified set of DNS name servers to be used."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:89
+#: heat/engine/resources/neutron/subnet.py:88
msgid "The gateway IP address."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:94
+#: heat/engine/resources/neutron/subnet.py:93
msgid "Set to true if DHCP is enabled and false if DHCP is disabled."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:100
+#: heat/engine/resources/neutron/subnet.py:99
msgid "The start and end addresses for the allocation pools."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:117
+#: heat/engine/resources/neutron/subnet.py:116
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:139
+#: heat/engine/resources/neutron/subnet.py:138
msgid "Friendly name of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:140
+#: heat/engine/resources/neutron/subnet.py:139
msgid "Parent network of the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:141
+#: heat/engine/resources/neutron/subnet.py:140
msgid "Tenant owning the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:142
+#: heat/engine/resources/neutron/subnet.py:141
msgid "Ip allocation pools and their ranges."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:143
+#: heat/engine/resources/neutron/subnet.py:142
msgid "Ip of the subnet's gateway."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:144
+#: heat/engine/resources/neutron/subnet.py:143
msgid "Additional routes for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:145
+#: heat/engine/resources/neutron/subnet.py:144
msgid "Ip version for the subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:146
+#: heat/engine/resources/neutron/subnet.py:145
msgid "CIDR block notation for this subnet."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:147
+#: heat/engine/resources/neutron/subnet.py:146
msgid "List of dns nameservers."
msgstr ""
-#: heat/engine/resources/neutron/subnet.py:148
+#: heat/engine/resources/neutron/subnet.py:147
msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:41
+#: heat/engine/resources/neutron/vpnservice.py:40
msgid "Name for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:46
+#: heat/engine/resources/neutron/vpnservice.py:45
msgid "Description for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:51
+#: heat/engine/resources/neutron/vpnservice.py:50
msgid "Administrative state for the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:57
+#: heat/engine/resources/neutron/vpnservice.py:56
msgid "Unique identifier for the subnet in which the vpn service will be created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:63
+#: heat/engine/resources/neutron/vpnservice.py:62
msgid ""
"Unique identifier for the router to which the vpn service will be "
"inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:70
+#: heat/engine/resources/neutron/vpnservice.py:69
msgid "The administrative state of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:71
+#: heat/engine/resources/neutron/vpnservice.py:70
msgid "The description of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:72
+#: heat/engine/resources/neutron/vpnservice.py:71
msgid "The name of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:73
+#: heat/engine/resources/neutron/vpnservice.py:72
msgid "The unique identifier of the router to which the vpn service was inserted."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:75
+#: heat/engine/resources/neutron/vpnservice.py:74
msgid "The status of the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:76
+#: heat/engine/resources/neutron/vpnservice.py:75
msgid "The unique identifier of the subnet in which the vpn service was created."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:78
+#: heat/engine/resources/neutron/vpnservice.py:77
msgid "The unique identifier of the tenant owning the vpn service."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:135
+#: heat/engine/resources/neutron/vpnservice.py:134
msgid "Name for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:140
+#: heat/engine/resources/neutron/vpnservice.py:139
msgid "Description for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:145
+#: heat/engine/resources/neutron/vpnservice.py:144
msgid "Remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:151
+#: heat/engine/resources/neutron/vpnservice.py:150
msgid "Remote branch router identity."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:156
+#: heat/engine/resources/neutron/vpnservice.py:155
msgid "Remote subnet(s) in CIDR format."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:161
+#: heat/engine/resources/neutron/vpnservice.py:160
msgid "Maximum transmission unit size (in bytes) for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:167
+#: heat/engine/resources/neutron/vpnservice.py:166
msgid "Dead Peer Detection protocol configuration for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:172
+#: heat/engine/resources/neutron/vpnservice.py:171
msgid "Controls DPD protocol mode."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:182
+#: heat/engine/resources/neutron/vpnservice.py:181
msgid "Number of seconds for the DPD delay."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:187
+#: heat/engine/resources/neutron/vpnservice.py:186
msgid "Number of seconds for the DPD timeout."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:194
+#: heat/engine/resources/neutron/vpnservice.py:193
msgid "Pre-shared key string for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:199
+#: heat/engine/resources/neutron/vpnservice.py:198
msgid "Initiator state in lowercase for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:207
+#: heat/engine/resources/neutron/vpnservice.py:206
msgid "Administrative state for the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:213
+#: heat/engine/resources/neutron/vpnservice.py:212
msgid ""
"Unique identifier for the ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:219
+#: heat/engine/resources/neutron/vpnservice.py:218
msgid ""
"Unique identifier for the ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:225
+#: heat/engine/resources/neutron/vpnservice.py:224
msgid ""
"Unique identifier for the vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:232
+#: heat/engine/resources/neutron/vpnservice.py:231
msgid "The administrative state of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:234
+#: heat/engine/resources/neutron/vpnservice.py:233
msgid "The authentication mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:236
+#: heat/engine/resources/neutron/vpnservice.py:235
msgid "The description of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:237
+#: heat/engine/resources/neutron/vpnservice.py:236
msgid ""
"The dead peer detection protocol configuration of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:239
+#: heat/engine/resources/neutron/vpnservice.py:238
msgid ""
"The unique identifier of ike policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:241
+#: heat/engine/resources/neutron/vpnservice.py:240
msgid "The initiator of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:242
+#: heat/engine/resources/neutron/vpnservice.py:241
msgid ""
"The unique identifier of ipsec policy associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:244
+#: heat/engine/resources/neutron/vpnservice.py:243
msgid ""
"The maximum transmission unit size (in bytes) of the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:246
+#: heat/engine/resources/neutron/vpnservice.py:245
msgid "The name of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:247
+#: heat/engine/resources/neutron/vpnservice.py:246
msgid "The remote branch router public IPv4 address or IPv6 address or FQDN."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:249
+#: heat/engine/resources/neutron/vpnservice.py:248
msgid "The remote subnet(s) in CIDR format of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:251
+#: heat/engine/resources/neutron/vpnservice.py:250
msgid "The remote branch router identity of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:253
+#: heat/engine/resources/neutron/vpnservice.py:252
msgid "The pre-shared key string of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:254
+#: heat/engine/resources/neutron/vpnservice.py:253
msgid "The route mode of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:255
+#: heat/engine/resources/neutron/vpnservice.py:254
msgid "The status of the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:256
+#: heat/engine/resources/neutron/vpnservice.py:255
msgid "The unique identifier of the tenant owning the ipsec site connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:258
+#: heat/engine/resources/neutron/vpnservice.py:257
msgid ""
"The unique identifier of vpn service associated with the ipsec site "
"connection."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:313
+#: heat/engine/resources/neutron/vpnservice.py:312
msgid "Name for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:318
+#: heat/engine/resources/neutron/vpnservice.py:317
msgid "Description for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:323
+#: heat/engine/resources/neutron/vpnservice.py:322
msgid "Authentication hash algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:331
+#: heat/engine/resources/neutron/vpnservice.py:330
msgid "Encryption algorithm for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:340
+#: heat/engine/resources/neutron/vpnservice.py:339
msgid "Negotiation mode for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:348
+#: heat/engine/resources/neutron/vpnservice.py:347
msgid "Safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:352
-#: heat/engine/resources/neutron/vpnservice.py:499
+#: heat/engine/resources/neutron/vpnservice.py:351
+#: heat/engine/resources/neutron/vpnservice.py:498
msgid "Safety assessment lifetime units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:360
-#: heat/engine/resources/neutron/vpnservice.py:508
+#: heat/engine/resources/neutron/vpnservice.py:359
+#: heat/engine/resources/neutron/vpnservice.py:507
msgid "Safety assessment lifetime value in specified units."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:368
+#: heat/engine/resources/neutron/vpnservice.py:367
msgid "Perfect forward secrecy in lowercase for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:376
+#: heat/engine/resources/neutron/vpnservice.py:375
msgid "Version for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:385
+#: heat/engine/resources/neutron/vpnservice.py:384
msgid "The authentication hash algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:387
+#: heat/engine/resources/neutron/vpnservice.py:386
msgid "The description of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:388
+#: heat/engine/resources/neutron/vpnservice.py:387
msgid "The encryption algorithm used by the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:390
+#: heat/engine/resources/neutron/vpnservice.py:389
msgid "The version of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:391
+#: heat/engine/resources/neutron/vpnservice.py:390
msgid "The safety assessment lifetime configuration for the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:393
+#: heat/engine/resources/neutron/vpnservice.py:392
msgid "The name of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:394
+#: heat/engine/resources/neutron/vpnservice.py:393
msgid "The perfect forward secrecy of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:395
+#: heat/engine/resources/neutron/vpnservice.py:394
msgid "The negotiation mode of the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:397
+#: heat/engine/resources/neutron/vpnservice.py:396
msgid "The unique identifier of the tenant owning the ike policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:451
+#: heat/engine/resources/neutron/vpnservice.py:450
msgid "Name for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:456
+#: heat/engine/resources/neutron/vpnservice.py:455
msgid "Description for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:461
+#: heat/engine/resources/neutron/vpnservice.py:460
msgid "Transform protocol for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:469
+#: heat/engine/resources/neutron/vpnservice.py:468
msgid "Encapsulation mode for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:477
+#: heat/engine/resources/neutron/vpnservice.py:476
msgid "Authentication hash algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:485
+#: heat/engine/resources/neutron/vpnservice.py:484
msgid "Encryption algorithm for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:494
+#: heat/engine/resources/neutron/vpnservice.py:493
msgid "Safety assessment lifetime configuration for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:516
+#: heat/engine/resources/neutron/vpnservice.py:515
msgid "Perfect forward secrecy for the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:525
+#: heat/engine/resources/neutron/vpnservice.py:524
msgid "The authentication hash algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:527
+#: heat/engine/resources/neutron/vpnservice.py:526
msgid "The description of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:528
+#: heat/engine/resources/neutron/vpnservice.py:527
msgid "The encapsulation mode of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:529
+#: heat/engine/resources/neutron/vpnservice.py:528
msgid "The encryption algorithm of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:531
+#: heat/engine/resources/neutron/vpnservice.py:530
msgid "The safety assessment lifetime configuration of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:533
+#: heat/engine/resources/neutron/vpnservice.py:532
msgid "The name of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:534
+#: heat/engine/resources/neutron/vpnservice.py:533
msgid "The perfect forward secrecy of the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:535
+#: heat/engine/resources/neutron/vpnservice.py:534
msgid "The unique identifier of the tenant owning the ipsec policy."
msgstr ""
-#: heat/engine/resources/neutron/vpnservice.py:537
+#: heat/engine/resources/neutron/vpnservice.py:536
msgid "The transform protocol of the ipsec policy."
msgstr ""
-#: heat/engine/resources/software_config/cloud_config.py:44
+#: heat/engine/resources/software_config/cloud_config.py:43
msgid ""
"Map representing the cloud-config data structure which will be formatted "
"as YAML."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:61
+#: heat/engine/resources/software_config/multi_part.py:60
msgid "Parts belonging to this messsage."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:68
+#: heat/engine/resources/software_config/multi_part.py:67
msgid ""
"Content of part to attach, either inline or by referencing the ID of "
"another software config resource"
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:75
+#: heat/engine/resources/software_config/multi_part.py:74
msgid "Optional filename to associate with part."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:79
+#: heat/engine/resources/software_config/multi_part.py:78
msgid "Whether the part content is text or multipart."
msgstr ""
-#: heat/engine/resources/software_config/multi_part.py:85
+#: heat/engine/resources/software_config/multi_part.py:84
msgid "Optional subtype to specify with the type."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:64
+#: heat/engine/resources/software_config/software_config.py:63
msgid "Name of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:69
+#: heat/engine/resources/software_config/software_config.py:68
msgid "Description of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:73
+#: heat/engine/resources/software_config/software_config.py:72
msgid "Type of the value of the input."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:80
+#: heat/engine/resources/software_config/software_config.py:79
msgid "Default value for the input if none is specified."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:87
+#: heat/engine/resources/software_config/software_config.py:86
msgid "Name of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:92
+#: heat/engine/resources/software_config/software_config.py:91
msgid "Description of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:96
+#: heat/engine/resources/software_config/software_config.py:95
msgid "Type of the value of the output."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:103
+#: heat/engine/resources/software_config/software_config.py:102
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:112
+#: heat/engine/resources/software_config/software_config.py:111
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:119
+#: heat/engine/resources/software_config/software_config.py:118
msgid ""
"Configuration script or manifest which specifies what actual "
"configuration is performed."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:124
+#: heat/engine/resources/software_config/software_config.py:123
msgid ""
"Map containing options specific to the configuration management tool used"
" by this resource."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:129
+#: heat/engine/resources/software_config/software_config.py:128
msgid "Schema representing the inputs that this software config is expecting."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:136
+#: heat/engine/resources/software_config/software_config.py:135
msgid "Schema representing the outputs that this software config will produce."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:144
+#: heat/engine/resources/software_config/software_config.py:143
msgid "The config value of the software config."
msgstr ""
-#: heat/engine/resources/software_config/software_config.py:163
+#: heat/engine/resources/software_config/software_config.py:162
#, python-format
msgid "Software config %s is not found."
msgstr ""
@@ -5360,57 +5410,57 @@ msgstr ""
msgid "Deploy data available"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:232
+#: heat/engine/resources/software_config/software_deployment.py:237
#, python-format
msgid "Deployment to server failed: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:282
+#: heat/engine/resources/software_config/software_deployment.py:287
msgid "ID of the server being deployed to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:287
+#: heat/engine/resources/software_config/software_deployment.py:292
msgid "Name of the current action being deployed"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:292
+#: heat/engine/resources/software_config/software_deployment.py:297
msgid "ID of the stack this deployment belongs to"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:297
+#: heat/engine/resources/software_config/software_deployment.py:302
msgid "Name of this deployment resource in the stack"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:305
+#: heat/engine/resources/software_config/software_deployment.py:310
msgid "ID of signal to use for signalling output values"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:313
+#: heat/engine/resources/software_config/software_deployment.py:318
msgid "URL for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:318
+#: heat/engine/resources/software_config/software_deployment.py:323
msgid "Username for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:323
+#: heat/engine/resources/software_config/software_deployment.py:328
msgid "User ID for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:328
+#: heat/engine/resources/software_config/software_deployment.py:333
msgid "Password for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:333
+#: heat/engine/resources/software_config/software_deployment.py:338
msgid "ID of project for API authentication"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:441
+#: heat/engine/resources/software_config/software_deployment.py:446
#, python-format
msgid "Deployment exited with non-zero status code: %s"
msgstr ""
-#: heat/engine/resources/software_config/software_deployment.py:463
+#: heat/engine/resources/software_config/software_deployment.py:468
msgid "Outputs received"
msgstr ""
@@ -5424,283 +5474,126 @@ msgstr ""
msgid "Name of key to use for substituting inputs during deployment"
msgstr ""
-#: heat/openstack/common/eventlet_backdoor.py:140
-#, python-format
-msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: heat/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: heat/openstack/common/fileutils.py:62
-#, python-format
-msgid "Reloading cached file %s"
-msgstr ""
-
-#: heat/openstack/common/gettextutils.py:263
+#: heat/openstack/common/gettextutils.py:271
msgid "Message objects do not support addition."
msgstr ""
-#: heat/openstack/common/gettextutils.py:272
+#: heat/openstack/common/gettextutils.py:281
msgid ""
"Message objects do not support str() because they may contain non-ascii "
"characters. Please use unicode() or translate() instead."
msgstr ""
-#: heat/openstack/common/lockutils.py:82
-#, python-format
-msgid "Created lock path: %s"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:93
-#, python-format
-msgid "Got file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:108
-#, python-format
-msgid "Could not release the acquired lock `%s`"
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:110
-#, python-format
-msgid "Released file lock \"%s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:148
-#, python-format
-msgid "Attempting to grab external lock \"%(lock)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:174
+#: heat/openstack/common/lockutils.py:102
#, python-format
-msgid "Got semaphore \"%(lock)s\""
+msgid "Unable to acquire lock on `%(filename)s` due to %(exception)s"
msgstr ""
-#: heat/openstack/common/lockutils.py:231
-#, python-format
-msgid "Got semaphore / lock \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/lockutils.py:235
-#, python-format
-msgid "Semaphore / lock released \"%(function)s\""
-msgstr ""
-
-#: heat/openstack/common/log.py:301
+#: heat/openstack/common/log.py:327
#, python-format
msgid "Deprecated: %s"
-msgstr ""
+msgstr "已淘汰:%s"
-#: heat/openstack/common/log.py:404
+#: heat/openstack/common/log.py:438
#, python-format
msgid "Error loading logging config %(log_config)s: %(err_msg)s"
msgstr ""
-#: heat/openstack/common/log.py:455
+#: heat/openstack/common/log.py:489
#, python-format
msgid "syslog facility must be one of: %s"
-msgstr ""
+msgstr "Syslog 機能必須是下列其中一項:%s"
-#: heat/openstack/common/log.py:625
+#: heat/openstack/common/log.py:710
#, python-format
msgid "Fatal call to deprecated config: %(msg)s"
-msgstr ""
+msgstr "呼叫已淘汰的配置時發生嚴重錯誤:%(msg)s"
-#: heat/openstack/common/loopingcall.py:82
-#, python-format
-msgid "task run outlasted interval by %s sec"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:89
-msgid "in fixed duration looping call"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:129
-#, python-format
-msgid "Dynamic looping call sleeping for %.02f seconds"
-msgstr ""
-
-#: heat/openstack/common/loopingcall.py:136
-msgid "in dynamic looping call"
-msgstr ""
-
-#: heat/openstack/common/policy.py:73
+#: heat/openstack/common/policy.py:96
msgid "JSON file containing policy"
msgstr ""
-#: heat/openstack/common/policy.py:76
+#: heat/openstack/common/policy.py:99
msgid "Rule enforced when requested rule is not found"
msgstr ""
-#: heat/openstack/common/policy.py:90
+#: heat/openstack/common/policy.py:113
#, python-format
msgid "Policy doesn't allow %s to be performed."
msgstr ""
-#: heat/openstack/common/policy.py:175
+#: heat/openstack/common/policy.py:207
#, python-format
msgid "Rules must be an instance of dict or Rules, got %s instead"
msgstr ""
-#: heat/openstack/common/policy.py:205
-msgid "Rules successfully reloaded"
-msgstr ""
-
-#: heat/openstack/common/policy.py:251
-#, python-format
-msgid "Rule %s will be now enforced"
-msgstr ""
-
-#: heat/openstack/common/policy.py:266
-#, python-format
-msgid "Rule [%s] doesn't exist"
-msgstr ""
-
-#: heat/openstack/common/policy.py:474
-#, python-format
-msgid "Failed to understand rule %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:484
-#, python-format
-msgid "No handler for matches of kind %s"
-msgstr ""
-
-#: heat/openstack/common/policy.py:754
-#, python-format
-msgid "Failed to understand rule %r"
-msgstr ""
-
-#: heat/openstack/common/processutils.py:130
+#: heat/openstack/common/processutils.py:131
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
-msgstr ""
+msgstr "已取得 utils.execute 的不明關鍵字引數:%r"
-#: heat/openstack/common/processutils.py:145
+#: heat/openstack/common/processutils.py:146
#, python-format
msgid "Running cmd (subprocess): %s"
-msgstr ""
+msgstr "正在執行 cmd(子程序):%s"
-#: heat/openstack/common/processutils.py:169
-#: heat/openstack/common/processutils.py:241
+#: heat/openstack/common/processutils.py:170
+#: heat/openstack/common/processutils.py:242
#, python-format
msgid "Result was %s"
-msgstr ""
+msgstr "結果是 %s"
-#: heat/openstack/common/processutils.py:181
+#: heat/openstack/common/processutils.py:182
#, python-format
msgid "%r failed. Retrying."
-msgstr ""
+msgstr "%r 失敗。正在重試。"
-#: heat/openstack/common/processutils.py:220
+#: heat/openstack/common/processutils.py:221
#, python-format
msgid "Running cmd (SSH): %s"
-msgstr ""
+msgstr "正在執行 cmd (SSH):%s"
-#: heat/openstack/common/processutils.py:222
+#: heat/openstack/common/processutils.py:223
msgid "Environment not supported over SSH"
-msgstr ""
+msgstr "無法透過 SSH 來支援環境"
-#: heat/openstack/common/processutils.py:226
+#: heat/openstack/common/processutils.py:227
msgid "process_input not supported over SSH"
-msgstr ""
-
-#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384
-msgid "Full set of CONF:"
-msgstr ""
-
-#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269
-#, python-format
-msgid "Caught %s, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:187
-msgid "Exception during rpc cleanup."
-msgstr ""
-
-#: heat/openstack/common/service.py:238
-msgid "Parent process has died unexpectedly, exiting"
-msgstr ""
-
-#: heat/openstack/common/service.py:275
-msgid "Unhandled exception"
-msgstr ""
-
-#: heat/openstack/common/service.py:308
-msgid "Forking too fast, sleeping"
-msgstr ""
-
-#: heat/openstack/common/service.py:327
-#, python-format
-msgid "Started child %d"
-msgstr ""
-
-#: heat/openstack/common/service.py:354
-#, python-format
-msgid "Child %(pid)d killed by signal %(sig)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:358
-#, python-format
-msgid "Child %(pid)s exited with status %(code)d"
-msgstr ""
-
-#: heat/openstack/common/service.py:362
-#, python-format
-msgid "pid %d not in child list"
-msgstr ""
-
-#: heat/openstack/common/service.py:392
-#, python-format
-msgid "Caught %s, stopping children"
-msgstr ""
-
-#: heat/openstack/common/service.py:410
-#, python-format
-msgid "Waiting on %d children to exit"
-msgstr ""
+msgstr "無法透過 SSH 來支援 process_input"
#: heat/openstack/common/sslutils.py:50
#, python-format
msgid "Unable to find cert_file : %s"
-msgstr ""
+msgstr "找不到 cert_file:%s"
#: heat/openstack/common/sslutils.py:53
#, python-format
msgid "Unable to find ca_file : %s"
-msgstr ""
+msgstr "找不到 ca_file:%s"
#: heat/openstack/common/sslutils.py:56
#, python-format
msgid "Unable to find key_file : %s"
-msgstr ""
+msgstr "找不到 key_file:%s"
#: heat/openstack/common/sslutils.py:98
#, python-format
msgid "Invalid SSL version : %s"
msgstr ""
-#: heat/openstack/common/strutils.py:86
+#: heat/openstack/common/strutils.py:92
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
-#: heat/openstack/common/strutils.py:188
+#: heat/openstack/common/strutils.py:197
#, python-format
-msgid "Invalid string format: %s"
+msgid "Invalid unit system: \"%s\""
msgstr ""
-#: heat/openstack/common/strutils.py:195
+#: heat/openstack/common/strutils.py:206
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Invalid string format: %s"
msgstr ""
#: heat/openstack/common/versionutils.py:69
@@ -5731,128 +5624,87 @@ msgstr ""
msgid "Length of %(given)d is too long, max = %(maximum)d"
msgstr ""
-#: heat/openstack/common/db/exception.py:42
+#: heat/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
+msgstr "無效參數:現行資料庫不支援 Unicode。"
-#: heat/openstack/common/db/sqlalchemy/migration.py:219
+#: heat/openstack/common/db/sqlalchemy/migration.py:190
msgid "version should be an integer"
-msgstr ""
+msgstr "版本應該是整數"
-#: heat/openstack/common/db/sqlalchemy/migration.py:242
+#: heat/openstack/common/db/sqlalchemy/migration.py:226
#, python-format
msgid ""
"Tables \"%s\" have non utf8 collation, please make sure all tables are "
"CHARSET=utf8"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/migration.py:266
+#: heat/openstack/common/db/sqlalchemy/migration.py:250
msgid ""
"The database is not under version control, but has tables. Please stamp "
"the current version of the schema manually."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/session.py:596
-msgid "DB exception wrapped."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/session.py:665
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:58
+msgid "Sort key supplied was not valid."
+msgstr "提供的排序鍵無效。"
-#: heat/openstack/common/db/sqlalchemy/session.py:743
-msgid ""
-"This application has not enabled MySQL traditional mode, which means "
-"silent data corruption may occur. Please encourage the application "
-"developers to enable this mode."
-msgstr ""
+#: heat/openstack/common/db/sqlalchemy/utils.py:119
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr "不明的排序方向,必須為 'desc' 或 'asc'"
-#: heat/openstack/common/db/sqlalchemy/session.py:767
+#: heat/openstack/common/db/sqlalchemy/utils.py:162
#, python-format
-msgid "SQL connection failed. %s attempts left."
+msgid ""
+"There is no `deleted` column in `%s` table. Project doesn't use soft-"
+"deleted feature."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:103
+#: heat/openstack/common/db/sqlalchemy/utils.py:174
#, python-format
-msgid "Got lock \"%s\""
-msgstr ""
+msgid "Unrecognized read_deleted value '%s'"
+msgstr "無法辨識 read_deleted 值 '%s'"
-#: heat/openstack/common/db/sqlalchemy/test_migrations.py:106
+#: heat/openstack/common/db/sqlalchemy/utils.py:181
#, python-format
-msgid "Lock released \"%s\""
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
+msgid "There is no `project_id` column in `%s` table."
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
+#: heat/openstack/common/db/sqlalchemy/utils.py:243
+msgid "model should be a subclass of ModelBase"
msgstr ""
-#: heat/openstack/common/db/sqlalchemy/utils.py:119
-msgid "Unknown sort direction, must be 'desc' or 'asc'"
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:194
+#: heat/openstack/common/db/sqlalchemy/utils.py:294
#, python-format
msgid ""
"Please specify column %s in col_name_col_instance param. It is required "
"because column has unsupported type by sqlite)."
-msgstr ""
+msgstr "請在 col_name_col_instance 參數中指定直欄 %s。它是必要的,因為直欄具有不受 SQLite 支援的類型。"
-#: heat/openstack/common/db/sqlalchemy/utils.py:200
+#: heat/openstack/common/db/sqlalchemy/utils.py:300
#, python-format
msgid ""
"col_name_col_instance param has wrong type of column instance for column "
"%s It should be instance of sqlalchemy.Column."
-msgstr ""
-
-#: heat/openstack/common/db/sqlalchemy/utils.py:280
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
+msgstr "col_name_col_instance 參數的直欄 %s 具有錯誤類型的直欄實例。它應該是 sqlalchemy.Column 的實例。"
-#: heat/openstack/common/db/sqlalchemy/utils.py:301
+#: heat/openstack/common/db/sqlalchemy/utils.py:408
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/api.py:145
-#, python-format
-msgid ""
-"Problem '%(e)s' attempting to send to notification system. "
-"Payload=%(payload)s"
-msgstr ""
+msgstr "%s 的優先順序無效"
-#: heat/openstack/common/notifier/api.py:164
-#, python-format
-msgid "Failed to load notifier %s. These notifications will not be sent."
-msgstr ""
-
-#: heat/openstack/common/notifier/list_notifier.py:112
+#: 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:27
+#: heat/openstack/common/notifier/rabbit_notifier.py:28
msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
-msgstr ""
-
-#: heat/openstack/common/notifier/rpc_notifier.py:45
-#: heat/openstack/common/notifier/rpc_notifier2.py:51
-#, python-format
-msgid "Could not send notification to %(topic)s. Payload=%(message)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:75
-msgid "Pool creating new connection"
-msgstr ""
+msgstr "rabbit_notifier 現已淘汰。請改用 rpc_notifier。"
#: heat/openstack/common/rpc/amqp.py:202
#, python-format
@@ -5871,69 +5723,19 @@ msgid ""
" be a MulticallProxyWaiter leak."
msgstr ""
-#: heat/openstack/common/rpc/amqp.py:290
-#, python-format
-msgid "unpacked context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:342
-#, python-format
-msgid "UNIQUE_ID is %s."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:435
-#, python-format
-msgid "received %s"
-msgstr ""
-
#: heat/openstack/common/rpc/amqp.py:443
#, python-format
msgid "no method for message: %s"
-msgstr ""
+msgstr "訊息沒有方法:%s"
#: heat/openstack/common/rpc/amqp.py:444
#, python-format
msgid "No method for message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:472
-#: heat/openstack/common/rpc/impl_zmq.py:280
-#, python-format
-msgid "Expected exception during message handling (%s)"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:480
-#: heat/openstack/common/rpc/impl_zmq.py:286
-msgid "Exception during message handling"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:554
-#, python-format
-msgid "Making synchronous call on %s ..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:557
-#, python-format
-msgid "MSG_ID is %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:583
-#, python-format
-msgid "Making asynchronous cast on %s..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:592
-msgid "Making asynchronous fanout cast..."
-msgstr ""
-
-#: heat/openstack/common/rpc/amqp.py:620
-#, python-format
-msgid "Sending %(event_type)s on %(topic)s"
-msgstr ""
+msgstr "訊息沒有方法:%s"
#: heat/openstack/common/rpc/common.py:76
msgid "An unknown RPC related exception occurred."
-msgstr ""
+msgstr "發生與 RPC 相關的不明異常狀況。"
#: heat/openstack/common/rpc/common.py:106
#, python-format
@@ -5941,6 +5743,8 @@ msgid ""
"Remote error: %(exc_type)s %(value)s\n"
"%(traceback)s."
msgstr ""
+"遠端錯誤:%(exc_type)s %(value)s\n"
+"%(traceback)s。"
#: heat/openstack/common/rpc/common.py:123
#, python-format
@@ -5953,292 +5757,79 @@ msgstr ""
#: heat/openstack/common/rpc/common.py:141
#: heat/openstack/common/rpc/common.py:142
msgid "<unknown>"
-msgstr ""
+msgstr "<未知>"
#: heat/openstack/common/rpc/common.py:146
#, python-format
msgid "Found duplicate message(%(msg_id)s). Skipping it."
-msgstr ""
+msgstr "發現重複的訊息 (%(msg_id)s)。正在跳過該訊息。"
#: heat/openstack/common/rpc/common.py:150
msgid "Invalid reuse of an RPC connection."
-msgstr ""
+msgstr "重複使用 RPC 連線無效。"
#: heat/openstack/common/rpc/common.py:154
#, python-format
msgid "Specified RPC version, %(version)s, not supported by this endpoint."
-msgstr ""
+msgstr "此端點不支援所指定的 RPC 版本 %(version)s。"
#: heat/openstack/common/rpc/common.py:159
#, python-format
msgid ""
"Specified RPC envelope version, %(version)s, not supported by this "
"endpoint."
-msgstr ""
+msgstr "此端點不支援所指定的 RPC 封套版本 %(version)s。"
#: 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/common.py:292
-#, python-format
-msgid "Returning exception %s to caller"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:156
-msgid "Failed to process message ... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:160
-msgid "Failed to process message ... will requeue."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:495
-#, python-format
-msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:517
-#, python-format
-msgid "Connected to AMQP server on %(hostname)s:%(port)d"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:554
+#: 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_kombu.py:568
-#, python-format
-msgid ""
-"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
-"again in %(sleep_time)d seconds."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:622
-#: heat/openstack/common/rpc/impl_qpid.py:573
-#, python-format
-msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:640
-#: heat/openstack/common/rpc/impl_qpid.py:588
-#, python-format
-msgid "Timed out waiting for RPC response: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:644
-#: heat/openstack/common/rpc/impl_qpid.py:592
-#, python-format
-msgid "Failed to consume message from queue: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_kombu.py:683
-#: heat/openstack/common/rpc/impl_qpid.py:627
-#, python-format
-msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
-msgstr ""
+"嘗試 %(max_retries)d 次之後,仍無法連接至 %(hostname)s:%(port)d 上的 AMQP "
+"伺服器:%(err_str)s"
#: heat/openstack/common/rpc/impl_qpid.py:87
#, python-format
msgid "Invalid value for qpid_topology_version: %d"
msgstr ""
-#: heat/openstack/common/rpc/impl_qpid.py:191
-msgid "Failed to process message... skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:515
-#, python-format
-msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:521
-#, python-format
-msgid "Connected to AMQP server on %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:534
-msgid "Re-established AMQP queues"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_qpid.py:600
-msgid "Error processing message. Skipping it."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:96
-msgid "JSON serialization failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:101
-#, python-format
-msgid "Deserializing: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:136
-#, python-format
-msgid "Connecting to %(addr)s with %(type)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:137
-#, python-format
-msgid "-> Subscribed to %(subscribe)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:138
-#, python-format
-msgid "-> bind: %(bind)s"
-msgstr ""
-
#: heat/openstack/common/rpc/impl_zmq.py:146
msgid "Could not open socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:158
-#, python-format
-msgid "Subscribing to %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:195
-msgid "ZeroMQ socket could not be closed."
-msgstr ""
+msgstr "無法開啟 Socket。"
#: heat/openstack/common/rpc/impl_zmq.py:200
msgid "You cannot recv on this socket."
-msgstr ""
+msgstr "無法在此 Socket 上接收。"
#: heat/openstack/common/rpc/impl_zmq.py:205
msgid "You cannot send on this socket."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:267
-#, python-format
-msgid "Running func with context: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:305
-msgid "Sending reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:339
-msgid "RPC message did not include method."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:371
-msgid "Registering reactor"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:383
-msgid "In reactor registered"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:388
-msgid "Consuming socket"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:438
-#, python-format
-msgid "Creating proxy for topic: %s"
-msgstr ""
+msgstr "無法在此 Socket 上傳送。"
#: heat/openstack/common/rpc/impl_zmq.py:444
msgid "Topic contained dangerous characters."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:476
-msgid "Topic socket file creation failed."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:482
-#, python-format
-msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:498
-#, python-format
-msgid "Required IPC directory does not exist at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:507
-#, python-format
-msgid "Permission denied to IPC directory at %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:510
-msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:544
-#, python-format
-msgid "CONSUMER RECEIVED DATA: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:563
-msgid "ZMQ Envelope version unsupported or unknown."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:591
-msgid "Skipping topic registration. Already registered."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:598
-#, python-format
-msgid "Consumer is a zmq.%s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:650
-msgid "Creating payload"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:663
-msgid "Creating queue socket for reply waiter"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:676
-msgid "Sending cast"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:679
-msgid "Cast sent; Waiting reply"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:682
-#, python-format
-msgid "Received message: %s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:683
-msgid "Unpacking response"
-msgstr ""
+msgstr "主題包含危險字元。"
#: heat/openstack/common/rpc/impl_zmq.py:692
msgid "Unsupported or unknown ZMQ envelope returned."
-msgstr ""
+msgstr "傳回了不支援或不明的 ZMQ 封套。"
#: heat/openstack/common/rpc/impl_zmq.py:699
msgid "RPC Message Invalid."
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:722
-#, python-format
-msgid "%(msg)s"
-msgstr ""
-
-#: heat/openstack/common/rpc/impl_zmq.py:725
-#, python-format
-msgid "Sending message(s) to: %s"
-msgstr ""
+msgstr "RPC 訊息無效。"
#: heat/openstack/common/rpc/impl_zmq.py:729
msgid "No matchmaker results. Not casting."
-msgstr ""
+msgstr "符合程式找不到結果。不進行強制轉型。"
#: heat/openstack/common/rpc/impl_zmq.py:732
msgid "No match from matchmaker."
-msgstr ""
+msgstr "沒有來自符合程式的相符項。"
#: heat/openstack/common/rpc/impl_zmq.py:814
#, python-format
@@ -6247,31 +5838,15 @@ msgstr ""
#: heat/openstack/common/rpc/matchmaker.py:46
msgid "Match not found by MatchMaker."
-msgstr ""
+msgstr "符合程式找不到相符項。"
#: heat/openstack/common/rpc/matchmaker.py:80
msgid "Matchmaker does not implement registration or heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker.py:216
-#, python-format
-msgid "Matchmaker unregistered: %(key)s, %(host)s"
-msgstr ""
+msgstr "符合程式沒有實作登錄或活動訊號。"
#: heat/openstack/common/rpc/matchmaker.py:228
msgid "Register before starting heartbeat."
-msgstr ""
-
-#: heat/openstack/common/rpc/matchmaker_ring.py:76
-#: heat/openstack/common/rpc/matchmaker_ring.py:94
-#, python-format
-msgid "No key defining hosts for topic '%s', see ringfile"
-msgstr ""
-
-#: heat/openstack/common/rpc/service.py:47
-#, python-format
-msgid "Creating Consumer connection for Service %s"
-msgstr ""
+msgstr "在啟動活動訊號之前登錄。"
#: heat/tests/generic_resource.py:32
#, python-format
@@ -6303,12 +5878,22 @@ msgstr ""
msgid "Signaled resource (Type \"%(type)s\") %(details)s"
msgstr ""
-#: heat/tests/test_exception.py:24
+#: heat/tests/test_exception.py:25
#, python-format
msgid "Testing message %(text)s"
msgstr ""
-#: heat/tests/test_server.py:814
+#: heat/tests/test_function.py:24
+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
+msgid "Failed to retrieve template"
+msgstr ""
+
+#: heat/tests/test_server.py:878
#, python-format
msgid ""
"Properties \"uuid\" and \"network\" are both set to the network "
@@ -6316,11 +5901,11 @@ msgid ""
"deprecated. Use only \"network\" property."
msgstr ""
-#: heat/tests/test_validate.py:1170
+#: heat/tests/test_validate.py:1373
msgid "The InstanceType parameter must be assigned to one Parameter Group only."
msgstr ""
-#: heat/tests/test_validate.py:1185
+#: heat/tests/test_validate.py:1388
msgid ""
"The Parameter name (SomethingNotHere) does not reference an existing "
"parameter."